It sounds like you live in California? If you're a decent software engineer in any major city in California, you are one of the luckiest people who has ever lived. You have your choice of employers paying you six figures to sit at a desk and push buttons 40 hours per week.
If you're overworked and underpaid to the point that what I just said sounds crazy, it sounds like you need a new job, immediately. There are better options out there, don't settle if you're miserable.
Some of the other points you mentioned sound like you might want to speak to a professional therapist. There's no shame in that (I've done it before and will again) and it can really help you work through some issues.
Good luck!