Education requirement, for another. Your examples all require advanced degrees from prestigious schools, multiple years of low wage grunt work, and/or a proven track record before hitting the high salary mark you seem to think is the default. Meanwhile, 22 year olds graduating from college with a CS degree and zero years of experience are getting six figure offers.
Work environment, for a third. Think you can be a doctor and work from home when you feel like it, or have Nerf wars with your coworkers after grabbing a beer from the office-provided kegerator?
SF and SV engineers are spoiled. Spoiled by market conditions that have combined to make right now an unprecedented good time for people who like writing code. Meanwhile, the other 98ish percent of Americans continue to get a poor deal. That's no one's fault, it's just the way economics has gone over the last few years. But it's no surprise that a large number of people want engineers to have to work with the same conditions as everyone else. I mean, can you really say with a straight face that someone writing yet another version of Tinder or whatever is providing more "value", as you put it, than a teacher?