I successfully fought management to get them to allow time for the other senior engineers to mentor the junior developers, and for all to explore new technologies after a massive burnout session of product development to meet an overly aggressive release deadline - I threatened to quit if big changes weren't made, and I was by far their most productive frontend engineer.
Not all startups are equal - just as it can be difficult to find the career that interests you, it can be just as difficult to find the company you would like to work at.
With that said, I don't really mind the long hours if I am properly compensated. It's not the long hours that bother me. It's the thought that I have nothing better to do than to serve the company at any time of the day. Employment is a mutually beneficial economic relationship. Out here, it seems that a lot of employers think the employees should be thankful they are allowed to work there.
As for your latter point ... don't know. When I was "junior" the talent shortage was dire. When I was "senior", I wouldn't put up with such things, but even in cases where I got recruited without having much of an idea of the workplace culture, I don't ever remember a "you should be thankful you are allowed to work here" attitude. Might have been luck of the draw, although in plenty of those places a failure to have hired someone like me at the time would have resulted in the company dying, so....
ADDED: D.C. might be a special case: The culture is overwhelmingly influenced by government contracting, and the government is loathe to pay overtime. And contractors tend to get paid by the billed hour, so unpaid overtime costs them money. And at least compared to Boston a decade earlier, the time you spent in the office was a greater factor in judging your performance.
I worked in QA for a little over a year at a startup in Mountain View. Firstly, the hours were horrible. I was consistently working twelve hours a day during the week and at least four hours a day one day per weekend. This was finally pared back after I and another member of the QA team started to complain about the hours. Neither the pay nor the equity I received was really fair for the amount of work I put in.
Furthermore, whenever I attempted to advance my skills beyond the QA position, I was blocked again and again. I was only allowed to commit code after I got fed up with an issue, fixed it myself, and basically begged a developer to look at it. It was a two-line fix; however, most of the developers assumed I couldn't write code properly simply because I didn't have a CS background.
Lastly, it was the management layer directly above that finally made me decide to quit. My manager and one of the developers I worked with consistently had this annoying feud going on between them. I was always stuck in the middle of it. All I wanted to do was to complete my job and go home without a headache. Towards the end, that became impossible.
So, if you want to work long hours for horrible compensation, to be pigeonholed into a position and never be allowed to grow your skills, and to be surrounded by people who cannot seem to grow up, then come to Silicon Valley and try your hand at being part of something that may or may not become the next greatest company.