How can I add password fields to the account creation page?
Although it doesn't mention it on the module description page, this is one of the features of LoginToboggan, which also addresses a number of other common login confusions (ie: a user can log in with their email address or username, prompt for login instead of permission denied page).

From the documentation:


  Set password
  Ticking this will allow users to enter their desired password when they set up their user account.