I'll second your point about doing work that you believe is important. I'm nowhere near as experienced as you (only 28 here) and I've only got two jobs to compare, but I can easily pinpoint the biggest difference between the two: the first job was a corporate job that was a struggle to work at and be motivated at. The second (and current) job is one at a small organization that has me working directly with the people who are using my work. In other words, I'm talking to and working with the people I'm ultimately working for (the users) and that is the motivation I desperately needed and couldn't get at my last job.
OP: If it is at all possible, and I mean AT ALL POSSIBLE, try and find a job that you will be motivated at. There comes a point where you have to take care of yourself in order to take care of others, and it sounds like that point is coming soon for you. If you can't get out (or even just in the meantime), try and do something in your spare time that is fulfilling. It can be programming your own (unrelated to work) project, it could be getting out and enjoying nature, it could be something completely different (writing music and stories are some of mine). If you can't get that enjoyment during your work, try and get some of it on your own time.
OP: If it is at all possible, and I mean AT ALL POSSIBLE, try and find a job that you will be motivated at. There comes a point where you have to take care of yourself in order to take care of others, and it sounds like that point is coming soon for you. If you can't get out (or even just in the meantime), try and do something in your spare time that is fulfilling. It can be programming your own (unrelated to work) project, it could be getting out and enjoying nature, it could be something completely different (writing music and stories are some of mine). If you can't get that enjoyment during your work, try and get some of it on your own time.