From an evolution / selfish gene’s perspective, the reason I or any human has morality is so we can win (or at least not lose) our local virtue/status game.
If you’re talking about status games at all, then not only have you mostly rounded the full selective landscape off to the organism level, you’ve also taken a fairly low resolution model of human sociality and held it fixed (when it’s properly another part of the phenotype). Approximations like this, if not necessarily these ones in particular, are of course necessary to get anywhere in biology—but that doesn’t make them any less approximate.
If you want to talk about the evolution of some complex psychological trait, you need to provide a very clear account of how you’re operationalizing it and explain why your model’s errors (which definitely exist) aren’t large enough to matter in its domain of applicability (which is definitely not everything). I don’t think rationalist-folk-evopsych has done this anywhere near thoroughly enough to justify strong claims about “the” reason moral beliefs exist.
Yes and no: “evolution gave us reason” is the same sort of coarse approximation as “evolution gave us the ability and desire to compete in status games”. What we really have is a sui generis thing which can, in the right environment, approximate ideal reasoning or Machiavellian status-seeking or coalition-building or utility maximization or whatever social theory of everything you want to posit, but which most of the time is trying to split the difference.
People support impartial benevolence because they think they have good pragmatic reasons to do so and they think it’s correct and it has an acceptable level of status in their cultural environment and it makes them feel good and it serves as a signal of their willingness to cooperate and and and and. Of course the exact weights vary, and it’s pretty rare that every relevant reason for belief is pointing exactly the same way simultaneously, but we’re all responding to a complex mix of reasons. Trying to figure out exactly what that mix is for one person in one situation is difficult. Trying to do the same thing for everyone all at once in general is impossible.