Why aren't accounts created in checkout after adding custom user fields?
When you add required fields to your site's user accounts, Rules expects you to supply data for these fields when you create new users using the Create a new entity action. Drupal Commerce uses this action in the default checkout completion rule Create a new account for an anonymous order, but it has no way of specifying appropriate default values for your required field data. This will leave Rules unable to execute this checkout completion rule, creating the creation of new accounts when anonymous users complete checkout.
Therefore, if you add required fields to your site's user accounts, you must also edit the Create a new entity action in this rule to provide appropriate default values for your custom fields. You can use generic default values and prompt users to come complete the profile or select default values from properties of the completed order. If the data you want to use is on an entity referenced by the order, such as a component of the billing address, you may need to add conditions to the rule to ensure the presence of the data as described in this FAQ.