Many of Gilgit's regions have their own religion, culture, customs and all for centuries, outside of the mainstream Muslim population. Even the Muslim population has slightly different regional customs they follow. Some say they go as far back as the Indus civilization. So separate province based on regional population, religion, customs and all makes sense.
While Karachi is just a modern city, and ethnically diverse. So if you were to make it a separate city, what would be the basis? Majority like 90% people are Muslims, so it can't be religion, ethnicity wise, then you'll need to make like 4 different provinces to accommodate all ethnicity like Pashtuns, Mahajers, Punjabi's, White Americans who are always out to get your country and all!!