There are a few things going on here.
I don't think the world has fully realized this yet, but there's huge divergence in skill of developers. I know a few developers who are worth $500k/year, if not more. And I know plenty of others who are not worth that, but are easily worth $100k/year. With all of them under the same label of "developer", it can be hard to distinguish what you're getting.
Car example! Imagine wanting to buy a car, but not knowing anything about cars. So you call Kia, and ask how much a car costs, and they say, $15,000. Then you call Honda, they say $20,000. A few others, similar prices. Then you call Rolls Royce, and they say $500,000 and you think they're trying to pull a fast one on you. And to compound this, if you were to list everything that you want in a car, you'd probably come up with something closer to a Rolls Royce than a Kia. So you're shopping for a Rolls, and you've budgeted for a Kia. Also remember, you don't know anything about cars, so you don't know how to distinguish important features (ie. wheels, a functioning engine), from luxury ones (ie. a fancy sound system, heated seats).
In terms of people not being willing to pay the going rate - plenty are! All of the big west coast tech companies pay handsomely for developers. Outside of big cities though, things are slow to catch up. So I think that a lot of the sentiment comes from people not wanting to move to SF or NYC or Seattle, but also wanting to get a competitive rate. Eventually these companies will have to adapt, but it can take time, especially if there are enough people who don't want to leave the city they're in. There's also the quality divergence taking place - as much as we'd all like to think we're good, Google and co. are very selective.
In terms of working for less than the going rate (which as you said is generous) - for sure that's happening. But there's adverse selection happening there, in that people who are taking jobs below market are either desperate and will quit when they find something better, or are of low quality. Developers aren't paid well out of the goodness of the company's heart, they're paid because they make money for the company. And bad developers can have extremely negative productivity even ignoring their salary.
Finally, labor takes time to catch up, especially skilled labor. From no programming knowledge to junior developer at a top company takes typically five years - ie. an undergraduate degree in computer science and some tinkering on your own (yes there are exceptions). And we are seeing supply increase - enrollment in computer science programs is up across the country. Imagine we had a severe shortage of doctors - you can't just suddenly triple the supply of doctors over a couple of years. Now if you have a huge shortage of brain surgeons, which might take a decade or more to train you're in for a lot of trouble.