A non-profit has a budget for hiring, just as a scrappy startup has a budget for hiring, just as Facebook has a budget for hiring. The first two may try to spin a story about how they need to spread that budget farther because of $narrative, but really all they're doing is trying to pay you less money for your work.
Notice how they're not "not able" to pay market rate for things like power, rent, office furniture, and phone service to the building. Those things are only different from developer talent in that they are not willing to negotiate their rate down because of a story.
Developers should take a page from their book.