Why do some contacts share the same Drupal user?
I'm not sure what is causing the contacts to share Drupal accounts, but to detach contacts from Drupal user accounts, you will need access to the civicrm_uf_match table in your CiviCRM database.

See the question How to disconnect civi contact record from Drupal user? and the answer I posted there on how to detach contacts.