Companion, provider, SW, call girl, lady.. are all fine for me.
I dislike “courtesan”. Not because it’s offensive, but because it sounds a bit silly.
“Whore” and “h**ker” are only okay with me if other SWs use it, because we mean it in a lighthearted way.. but with non-SWs, they’re usually...