Since assignment is about twice as frequent as equality testing in typical programs, it’s appropriate that the operator be half as long.
Of course, that's wrong. Trying to make it easier to type, a bigger usability problem is created, assigning counterintuitive symbols to functionality that most people would not associate to them.
So the problem is not what = means in maths, it's what it means for people learning a language. Anyway, smadge is right: most of the uses in maths are of the kind "a little imprecission saves tons of explanation". In other words: that's not a question of what = is, but a question of how we use it to get things done.
Oh and then there is the "I'm used to it so it must not be so bad" crowd and the rationalization ensues.