What the dictionary says - "stepmother - a woman who has married one's father after the death or divorce of one's mother"
Every situation is different and whatever choices people make in referring to one another should be acceptable as long as everyone concerned is happy with that. There is not a right way or a wrong way.
No child should be forced to call anyone by something another person has imposed on them, it should purely be their own choice.
My personal feelings are that mum and dad are always mum and dad. When mum/dad marries another person they then become a stepmum or stepdad. If not married, referred to as stepparent or just called by their names - I think referring to them as X's girlfriend etc is a little disrespectful, but again each to their own.
Unless a child wants to call stepmum 'mum' this should be kept for bio mums or may be just a more appropriate title for a stepmum that has 50/50 access or plays a really active part in that childs life.
I can understand why 'mum' might want the man she marrys to be referred to as 'dad' because they may have more of an active role in the child's life than the non resident parent and step-parent, but this should, as I've said earlier, be the choice of the child.
I have a stepdad, my father did not play an active part in my life but although he is my dad I felt strongly that I wanted to call my stepdad 'dad' because he was the one raising me at home. I also refer to him as 'dad' when I speak to anyone else about him (to the point they think he's my real one, which I let them believe - nothing to do with anyone else so I don't feel the need to explain anything). I have a stepmum, who I see very little and call her by her name, purely because of the little time I see them.