Craft Commerce "state" dropdown field fails to populate with states for new customer addresses
This is caused by the model.countryId not being defined on first page load, which means the options defaults to an empty array. Once the address is saved, the selected country that is saved will provide the countryId and therefore your states dropdown is populated the second time around.
IIRC, the sample Commerce templates hide the text field and show the states dropdown field via JavaScript based on the selected value of the country dropdown.
If you know you're always going to default to United States as the initially selected country, you could ensure your state text field is hidden by default and set a default country ID:
{# Note: example country ID #}
{% set defaultCountryId = 51 %}
    
{% set options = (model and states[model.countryId] is defined ? states[model.countryId] : states[defaultCountryId]) %}

I think you could get the correct country ID for the USA from craft.commerce.countries.allEnabledCountriesAsList to use with your default var.