Checking across all email addresses for contact registration
On the Drupal side, there is a Multiple Email Address module that will allow for multiple emails to be associated with the same user account (not sure if you can configure specific email fields to map to the corresponding location types in Civi such that whatever changes/additional emails are added on the Drupal side would be communicated to the same contact record on the Civi side - you might want to check on that). The first paragraph at the link above indicates the following:


  Only one e-mail address is considered to be the "primary" email address, and will continue to behave as normal. Non-primary accounts are mostly functionally meaningless, except that during user registration any e-mail address registered to a user cannot be used to create a new account.


The Multiple Email Address module will in effect prevent duplicate contacts from being created in Civi as well.

Without this module, there is a 1:1 relationship between a drupal user account and a primary email address of a Civi contact record (keep in mind, the primary email address can be of any location type - if you were able to login with more than one email address without having the above module installed, it may be that you have duplicate contact records in Civi with a different email location set as primary - you can check the civi contact IDs associated with the drupal user IDs directly in the database in civicrm_uf_match). With regards to duplicate matching, the default behavior is as follows:


When a user creates a Drupal user account using anything other than a primary email address of an existing Civi contact record, a new contact record is created in Civi
If a user attempts to login with an email address that is not their primary email address, they will not succeed
Conversely, Drupal does not allow a duplicate user record to be created for the same primary email address


You mention additional email fields are not displaying in the Name and Address profile - I am assuming this is a Civi profile configured with email fields of various location types - the same behavior happens on my end and I have a faint recollection of this being a programmed behavior to avoid overwriting the primary email address - but not 100% sure about this - anyone else who can confirm that please chime in.

Hope this helps!