Volunteers are not employees.
My girlfriend/fiance used to volunteer for an organization in the UK, and she eventually quit working for them, as have many other people.
The organization treats the volunteers badly, basically treating them as employees. While a volunteer should act like a worker or employee, they should be treated with more respect and given the freedom that comes with the word volunteer.
If you yell at a volunteer for being 10 minutes late, the next day they wont show up at all. Instead you need to kiss ass a little bit, and tell them that you really need them to come in on time because they are a very important part of the group, and that without them you can’t work as well.
My girlfriend used to work 10 hours a day for the organization I mentioned, often traveling alone on public transport at late hours in dangerous areas to do said job, in return she got nothing but the thanks of those she helped. The organization then tried to push more hours on to her, when she did not want them they told her that if she did not do the other hours, they would revoke her charity status in the UK and have her visa revoked and have her deported. This turned out to be a very bad move for them, as I got her an non-charity visa the next day for 6 months, we then told them where to stick it, and took them to court to contest their status as a charitable organization.
Before this, many others left also, after having other demands made at them, or after simply not being treated right.
If someone volunteers, you have to praise them regardless of how shit they are at what they do, and be thankful that they show up each day.