One reason is that we want our developers to be part of a technology community. Attending (and presenting at) industry events, meetups, bar camps, and local user groups. There's a lot more opportunity for that if you're located in certain parts of the country than others.
I'm sure that Buffalo, Oklahoma is a fantastic place to live, but we prefer you be somewhere you can hang out with, learn from, and teach other geeks.
That said, if you're unbelievably awesome, hit me up anyway. We like smart people regardless of their location.
I live in a US town of ~6k people, and currently get 6Mbps on the lowest tier plan available (50 Mbs is readily available, just a bit pricey for personal use).
I don't buy this argument at all, as there are metro areas that will have worse connectivity than some rural areas within the US.
I live in an area with approx. 370,000 people and my only ISP choice is Comcast. Verizon will not provide FioS here or DSL, and the wireless ISP in our area says my neighbor's tree is too large and blocks LoS to their tower.