Why is Hindi India's national language? 

Neither the Constitution nor the laws of India accord the status of national language to any language in India. Indian law states that no language will be made the national language unless and until all the constituent states of the Union of India accept it. 

Of the 28 states and seven Union Territories, only ten states and three Union Territories have Hindi as the principal official language. However, Article 343 of the Indian Constitution states that the official language of the Union (India) shall be Hindi in Devanagari script.