I am convinced it's a mistake for this non-profit to create a software development team from a rotating pool of volunteers to write software upon which it is critically dependent.
Yes, it is, for a whole host of reasons that I'm sure will be expanded upon here shortly. I've spent 20 years dealing with troubled and failed IT projects, and one of the biggest mistakes I see time and again is an organization trying to create a mission-critical project, often in a compressed time frame, using developers who are not an experienced, functioning team. You can usually throw into that first-time adoption of some silver-bullet technology and/or methodology. So, what you get it, "OK, let's get 10 random programmers who have never delivered a working system together as a team, and they're going to develop this mission-critical system from scratch in 4 months using Swift and Agile, even though none of the programmers have ever used either. And we can add more programmers if we start to fall behind."
Having the programmers be volunteers is even worse, since they are now self-selecting based on their own interest, instead of being chosen for, you know, actual skills, talent, experience, and so on.