I agree that it would be nice if the returned vector would be "doctor" in both cases but the embedding code (the implementation) or the embedding algorithm (theory) have no idea about gender, ethics or moral.
Here the bias comes from the datasets the AI trained on.
The bias of those datasets comes from society writing texts in a biased way.
So the solution to fixing this "bias" is fixing the language used in society which is not an AI problem nor a dataset problem.