From someone who spent almost every weekend volunteering for something or other, I disagree with mandatory volunteer work.
Let me tell you how it worked at my high school. We were required 50 hours total, 5 as a Freshman, 5 as a Sophomore, 15 as a Junior, and 25 as a Senior. Or, do all of them as a senior, but you couldn't count more for each year.
I spent 3 weekends a month at the soup kitchen and with my mother starting up an animal spay/neuter coalition, as well as working with the local shelter trying to keep the costs down so they could relocate to a larger area. I started this at 12, and kept going until the start of my senior year when I had medical problems and not being able to keep up with school very well. I had to stop with my volunteer work, because I couldn't handle it anymore. At the end of the first semester, I was told I wouldn't be able to graduate because I hadn't finished my mandatory 25 hours as a senior. Never mind that I had finished FAR over the mandatory in my freshman year alone, it wouldn't count. I ended up having to volunteer at a football game to get the extra hours, because, for some reason, selling food is community service.
One of my friends went home the day before the hours were totally due, and had his uncle sign a slip that he had volunteered for something or other. My other friend had to take time out of her very busy athletic and extra curricular activities schedule to squeeze in time at the football games as well. Considering she did two sports each semester, was the president of student counsel, and was working on an internship with UC Davis in the medical field, it was a huge drag that she had to take time away from her other activities.
Don't get me wrong, I'm a huge advocate for volunteer work, but making it mandatory makes people resent it. And causes problems for multitudes of students with busy schedules. Personally, I would have graduated early had it not been for that.