For structured data, can alternateName be used more than once on a single thing?
Yes, every property can be used multiple times.
You could even provide multiple name properties, but it might make sense to use one name property (for the canonical/official name) and one or more alternateName properties for all other names.
Examples: Person with several name, Product with several color, Offer with several priceSpecification, item with several additionalType.
Even though the Schema.org documentation allows to use alternateName property multiple times, using an array, such as
"alternateName": [
    "name variation 1",
    "name variation 2",
    "name variation 3"
    ]
But in reality, Google does not take more than one variation, and reports an error in Google Rich Results testing tool.
It is better to use "name" property for a canonical, or official name, then use "alternateName" for an alternate name, such as a common misspell or a shorter version of the official name. On top of that, you can use "legalName" for an officially registered name of an organization.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With