CiviVolunteer install fails
I was also dealing with the same problem and after many debugging, the following uninstall script finally helped me to install CiviVolunteer succesfully. Warning: you will lose the data stored in CiviVolunteer tables. Use at own risk.

/* drop custom tables */
DROP TABLE IF EXISTS `civicrm_volunteer_need`;
DROP TABLE IF EXISTS `civicrm_volunteer_project_contact`;
DROP TABLE IF EXISTS `civicrm_volunteer_project`;

/* drop report-related records */
DELETE FROM `civicrm_report_instance` WHERE report_id = 'volunteer';

/* drop custom option group for roles (FK takes care of option values) */
DELETE FROM `civicrm_option_group` WHERE NAME = 'volunteer_role';
DELETE FROM `civicrm_option_group` WHERE NAME = 'skill_level';

/* drop custom field group from Activities (FK takes care of fields) */
DELETE FROM `civicrm_custom_group` WHERE `name` = 'CiviVolunteer';
DELETE FROM `civicrm_custom_group` WHERE `name` = 'Volunteer_Information';
DELETE FROM `civicrm_custom_group` WHERE `name` = 'volunteer_commendation';

DELETE FROM civicrm_option_group WHERE `name` = 'msg_tpl_workflow_volunteer';
DELETE FROM civicrm_option_group WHERE `name` = 'volunteer_project_relationship';
DELETE FROM civicrm_contact_type WHERE `name` = 'Volunteer';
DELETE FROM civicrm_custom_group WHERE civicrm_custom_group.name = 'CiviVolunteer'; 
DELETE FROM civicrm_custom_field WHERE civicrm_custom_field.name = 'Volunteer_Need_Id';
DELETE FROM civicrm_custom_field WHERE civicrm_custom_field.name = 'Volunteer_Role_Id';
DELETE FROM civicrm_custom_field WHERE civicrm_custom_field.name = 'Time_Scheduled_Minutes';
DELETE FROM civicrm_custom_field WHERE civicrm_custom_field.name = 'Time_Completed_Minutes';
DELETE FROM civicrm_custom_field WHERE civicrm_custom_field.name = 'volunteer_project_id';
DELETE FROM civicrm_custom_field WHERE civicrm_custom_field.name = 'camera_skill_level';
DELETE FROM civicrm_msg_template WHERE msg_title = 'Volunteer - Registration (on-line)';
DELETE FROM civicrm_navigation WHERE `name` = 'New Volunteer';
DELETE FROM civicrm_option_value WHERE `label` = 'Volunteer';
DELETE FROM civicrm_option_value WHERE `label` = 'Volunteer Commendation';
DELETE civicrm_uf_join FROM civicrm_uf_group JOIN civicrm_uf_join ON civicrm_uf_join.uf_group_id = civicrm_uf_group.id  WHERE `group_type` = 'Volunteer,Contact';
DELETE FROM civicrm_uf_group WHERE `group_type` = 'Volunteer,Contact';

/* relationship_type, */


/* drop volunteer sign-up profile (FK takes care of profile fields) */
DELETE FROM `civicrm_uf_join` WHERE `module` = 'CiviVolunteer';
DELETE FROM `civicrm_uf_group` WHERE `name` = 'volunteer_sign_up';