It's hard... because you want to give your time to non-profits, but inevitably they won't be able to support or enhance what you do once you leave. Then that leaves them in a worse spot.
I do a lot of work with an animal shelter, and I remember 10-ish years ago some fancy agency came in and donated a new website... only, it took staff time to help gather requirements, and test, and we all had to go through training... and it came with some license fees, and we then had to hire more devs to work on the code since it wasn't something anyone in-house knew. (The agency offered a "discounted" maintenance rate that was still like way outside of our budget.)
Long story short, we had to throw out the nice new website after about a year, and have our in-house guys re-build a junky one that they could could support and manage. Then go through training again... and in the end, the "donation" cost us a ton of time and effort that could have been put into making the old site a little better. And... it was painful, right? Like it took another year to get things sort of where we started.
It's hard to give tech away, right? Like you have to have the supporting staff, infrastructure, knowledge... I think you'd be better off just making some money, by taking side projects, and donating the money to the charity of your choice.
Unless you're going to be a long-term volunteer, and commit to supporting and maintaining everything you build, it's generally not worth it for the org to use stuff that is beyond what the current staff can repair / re-build.