Well the important missing languages are Assamese, Bhojpuri, Maithili, Kashmiri, Manipuri, Nepali, Santali, Sindhi, and Urdu (possibly also Goan Konkani, Sanskrit, Tibetan).
Note also that Punjabi also has a distinct (but important) Western Punjabi variant (also officially recognized near the border of Pakistan, but using the Arabic script instead of Devanagari). As well Urdu is a variant of Hindi (both are part of the Hindustani macrolanguage) but written with the Arabic script instead of Devanagari. Even though these variants may be mutually intelligible orally, this is not the case for their written form (both scripts have their own complexities and work very differently, a large majority of Hindustani speakers can only read/write Hindi or Urdu, but not both).
And that Bishnuprya Manipuri is a distinct variant of Manipuri (but spoken by a much smaller community).
India is the most populated country in the world, it's not surprising it has so many languages, and many of them are not "minority languages" and not even endangered languages, as they are really spoken by millions: 20 languages is a strict minimum just to cover languages actually spoken by several millions people in India (and many of them do not speak English or any one of the 8 Indo-Aryan or Dravidian languages you have listed because they don't need it in real life when their linguistic community is already very vivid and benefits for governmental support at least in their own state or territory: for them, English or the 8 languages are just "foreign languages" they don't understand or have extreme dificulties to live with).