First of all there should be no national language, Pakistan should have adopted Urdu and English as official languages.
Regional languages should be promoted, they are your identity, country maps keep changing. Shahid Afridi jokingly said Irfan Pathan is a fake Pathan because he cannot speak Pashto, what about 100m Pakistani Punjabi's then? Fake pseudo Punjabi's!
In India only 40% population has Hindi as first language, Hindi is first language in 8 States out of total 25 plus States. Hindi belt is poorest in India. India never adopted Hindi as national language that's why English has penetrated much more.
India has the second largest number of English speakers, USA is first. India has more people who speak English as second language or understand English than any other country in the world.
Pakistanis shunned their local languages in past. You reserved Punjabi for uncouth populace. Now when same treatment is metted out to Urdu you are concerned, Urdu is a foreign language to Pakistanis.
In India, regional identity is very strong. Just check the sales of regional newspapers and number of TV channels on air. No surprise lnguages like Tamil, Telugu, Bengali have one of largest speakers in World. India is home to so many languages.