Here in India, it's a wide mystery why most startups prefer to headquarter in Bangalore. It made sense two decades ago but today there are several other Indian cities like Vizag, Nasik, Noida, Gurugram, Chandigarh, etc. which are more equipped, have better infrastructure and even lower cost of living. Still most folks prefer Bangalore just because it has been like that since ages and popularly called the "IT Hub". But logically, it doesn't make any sense at all!
It's a chicken & Egg problem. I run a startup in Pune, and we just don't get good developers here. We are open to remote, and most of the good candidates are in Bangalore.
Access to better schools is a factor in selecting a locality within the city but I don't think it has been a deciding factor in deciding the city itself.
Many cities including tier-2 cities have a variation of one of those "international" schools that parents seek and there's no significant difference in the quality of education between them.
Apart from the usual cycle of available talent + job opportunities, Bangalore has better weather and location wise it can attract talent from 4 states(these 4 states are major contributors to IT workforce compared to other states) while not being too far from place of origin.
better schools is not a factor at all. right out of college, or a little later most of the high quality engineers move to Bangalore because that's where the jobs already are. once people settle down a bit, they tend to be averse to move on average. it's network effect and sheer inertia. no one really wants it this way.
Nobody in their right mind would ever setup an office in Delhi or adjacent regions. The office politics alone should deter half of the people. The rest is taken care of by the increased crime rate, pollution and attitude of people.
Vizag, Kochi, Pune, Chandigarh etc are all much better cities. In both the kind of people they attract as well as the overall quality of developers.