I'd like to request adding more logic into the checkout form. Email confirmation address for anon users. Suggested code:
To be added in function ec_anon_checkout_form(&$txn)

  $form['mail_confirm'] = array(
    '#type' => 'textfield',
    '#title' => t('Confirm e-mail address'),
    '#weight' => -8,
    '#description' => t('Please re-type your e-mail address to confirm it is accurate.'),
    '#default_value' => $txn->mail_confirm,
  );

In addition, add '#weight' => -10, to $form['mail'] = array( ...

in function ec_anon_checkout_validate(&$txn), replace user_validate_mail($txn->mail); with

    if (!valid_email_address($txn->mail)) {
      form_set_error('mail', t('The e-mail address %mail is not valid.', array('%mail' => $txn->mail)));
      return;
    }
    if (!valid_email_address($txn->mail_confirm)) {
      form_set_error('mail_confirm', t('The e-mail address %mail is not valid.', array('%mail' => $txn->mail_confirm)));
      return;
    }
    if ($txn->mail != $txn->mail_confirm) {
      form_set_error('mail', t('The e-mail addresses are not the same.'));
      return;
    }

Further, I'd like to suggest adding more logic such as:
- if store "Anonymous purchasing policy" is set to anonymous make email and confirm email require
- if store "Anonymous purchasing policy" is set to anonymous get rid of the next button
- if store "Anonymous purchasing policy" is set to Flexible but visitor type email (or confirm email), the opposite will be required