Yes because most Indians can speak Hindi(Urdu is similar to Hindi). Hindi is the second or third language for many non native Hindi speakers.
No, by the 2001 census it's about 50% of Indians who do not speak Hindi.
I don't see a reason for this fraction to have changed significantly.