There are a lot of reasons an NGO would charge to volunteer.
1. Many people use this as a cheap vacation, this weeds out those people
2. They often have to supply insurance, sometimes even pay taxes to local authorities because in many countries, volunteer work still requires some tax records. This is true in Peru (and the USA, by the way as I had to pay workmans comp for my volunteers.
3. Funding is very tight and every penny is needed for direct services. It can be quite costly to support a volunteer with housing, food, supervision, training and there is an investment just to train someone for a job and consider that the volunteer will be staying only a couple weeks to a couple months on average, you have to mulitply the cost of training them over and over again. If the NGO had to pay that each time, it would be expensive and suddenly they would have to spend their time raising money for that instead of direct services.
4. A certain number of people will drop out, this would be a tremendous cost to the agency.
5. Screening and marketing is often done by a third party agency because every little NGO in the world could not possible set up their own marketing plan for recruiting and screening volunteers as it is expensive. These third party companies are much needed but are not free, they have to pay for themselves as well.
I was a non-profit fundraiser for nearly 20 years in the states and a member of the National Society of Fundraising Professionals and I can say that many people with a lot of great vision about altruistic help do not always understand the tremendous costs involved.
I have no problem that the director of the Red Cross makes several hundred thousand dollars a year as he or she has to be constantly on, traveling all over the world, having no time with their family and has to be a manager of something as big as Microsoft in terms of world-wide logistics and to get someone who can manage the workload, the quality of professionalism needed and the politics..you have to pay them something similiar to what they would make in the private world It all costs money and if you want to do it right, it costs a little more.