On your individual points: 1) City-focus of software engineering. Have you considered trying to work remotely? That isn't for everyone (I couldn't do it), but it would probably solve your problem
2) Salary wise, I would worry too much unless your first priority is to really help people (more on that below). I've interacted with a lot of doctors and frankly if you are smart developer you'll most likely have a leg up intelligence wise on all but the most in demand specialities.
3) I wouldn't necessarily count on being able to directly help people every day. It depends on your speciality and where you work. A lot of private pratice places often push unnecessary procedures to make money. If you are in a non-procedure speciality or at an academic center you probably won't have those pressures. That being said, if you want a comfortable life where you can actually help people, a job at an academic center outside of a major city sounds like a great fit. I doubt you'd make much more than a software engineer though.
4) I'm not sure how to parse your statement about status-seeking. A lot of people who go into medicine are status seeking.