There are numerous volunteer programs that don't cost anything to join and some even provide free board and lodging. You didn't state where you want to volunteer but if it is overseas then I recommend Volunteer for Africa and Volunteer Latin America. Both of these organisations specialise in connecting people to free / no cost volunteer programs. Check out their Facebook pages for some examples. I have used both sites to find volunteer opportunities in Africa and South America and didn't pay a penny! I don't understand why anyone would work through expensive placement and gap year companies when you can volunteer for free.