Society has changed, and software engineering is viewed as the goto high paying job for people in my age demographic. And to be honest it makes sense - you make six figures, almost never go into the office, have the ability to travel all over the world working remotely, low working hours, intellectually stimulating work, etc.
And it's my cohort that plays a role in buying property and making everything expensive.
The archetype of programmer you mention still exists (hell, I don't program for a living anymore but I still mess around with kernel programming and OS dev) but are very much the minority now. Majoring in CS and CE is a fast track way to become a member of the 10% in American society so EVERYONE is trying to major in it.