I don't know why people need to make this topic so complicated.
Imagine you meet someone named William. Maybe you become familiar with them and call them "Will" and they correct you and say they only want to go by "William". From that point forward, calling them "Will", "Willy", "Bill", "Billy", "Liam", or anything else besides "William" is rude. It doesn't matter that society at large thinks those names are all acceptable alternatives. It doesn't matter what is on this person's birth certificate. It doesn't matter the reason behind their request. An individual person told you their preferences and you ignored them. That is rude.
Pronouns are the same. You call people by what they want to be called. Anything else is rude to that individual.
The name analogy doesn't really work because in most societies names don't have very strong connotations. In ones where they DO have strong connotations (e.g. tribe/clan last names where different cland have different cultures) the analogy works, but most of us don't live in such societies.
Imagine you meet someone named William. Maybe you become familiar with them and call them "Will" and they correct you and say they only want to go by "William". From that point forward, calling them "Will", "Willy", "Bill", "Billy", "Liam", or anything else besides "William" is rude. It doesn't matter that society at large thinks those names are all acceptable alternatives. It doesn't matter what is on this person's birth certificate. It doesn't matter the reason behind their request. An individual person told you their preferences and you ignored them. That is rude.
Pronouns are the same. You call people by what they want to be called. Anything else is rude to that individual.