Does CiviVolunteer need volunteer sub-contact type?
I know this is an old question, but it doesn't have an answer.

The "Volunteer" sub-contact type ships with CiviCRM core and is, for the most part, unrelated to CiviVolunteer. The "Volunteer Information" custom field set ships with CiviVolunteer merely as a demonstration of the "slider" functionality. That it is configured as a "Volunteer" rather than an "Individual" field set is arbitrary.