I used to work at a non-profit association. The pay is far below the corporate sector, so if you want to go this route, you will take a pay cut, possibly substantial.
Keep in mind that non-profits are having a very tough time right now, so the job opportunities are extremely limited. Just how flexible they are with work hours and location will vary by the group, but the one I worked at was not progressive. No one worked anything other than the usual work week (and then some) and at the office.
In your situation, I'd try to find a new job you like and then get involved in volunteering in your free time. I think that would be the best way to get the salary and satisfaction you want.