Wold hate to think the definition of parent included 'having parenting skills'. That's most of us excluded with the first child, early on!
It really depends how the boyfriend in a new relationship is regarded by the mother. If she regards him as 'in loco parentis', in the position of parent, and the relationship meant as long term, then she, and the rest of us, may call him 'stepfather' If he is to discipline, direct, protect, provide for the child, as a father does, then he is stepfather.
Why is the term offensive? It's used as a quasi -legal term and it's been in regular use in everyday English from a time when we spoke Old English. It's a factual distinction, distinguishing the biological relationship from the non-biological. It would be odd if a parent continually referred to one child as stepson and the other as son, when it was not necessary by way of explanation; that would be offensive to the 'step-' as suggesting he was inferior or less loved. In practice, parents call all the children son and daughter, whether all are step- or only some are.