Hindi is not a national language, and yet that day has not come when everyone is speaking Hindi. National language as per same can be said when everyone is well versed in it and it is used in different states of the nation.
The constitution has not given any national status to the language The Eight Schedule of the language consists of a list of 22 languages Article 348(2) of the Constitution and Section 7 of the Official Languages Act, 1963, allow Hindi-speaking states, such as Bihar and Rajasthan, to use Hindi in their respective high courts.
English is the official language of India as many of the schools and colleges are English Medium. Some of the people of India don’t know about the Hindi language as they speak their state or regional language as they find it more comfortable to speak.
Rest when asked about Hindi being the official language, Hindi uses the Devnagiri script, and it is not used in functions, regional cultural fests, or something.
Talking about the official languages it is being used for business purposes. Hindi language would be used by the Central Government as per Article 343 when communicating with the states of the Hindi Belt.
English is the Associate official language and the language to be used while communicating with other states.
So as per the Constitution of India, Hindi and English are the official languages and not the National languages.