Create user profile using content type or add additional fields to the default registration form
I think there are two more possibilities. One, use social media integration to get as much information as possible to pre-fill the profile. Two, use panels to create a form that will collect a minimal number of required fields from your user profile. Overall, reduce the number of required fields and let users fill out their profiles gradually, with a little nudge from your site. If you ask them to fill out a large number of fields just to get started you may end up with a high form abandonment rate.

I would avoid creating a new Volunteer content type. It may just be my opinion, but I like to follow Occam's razor and avoid the proliferation of entities.