Cain never called Perry a racist. Instead, he agreed with his interviewer that the name on the rock was "insensitive".
A mistaken response, to be sure, but well short of "racist".
And, the very next day, upon hearing the whole story -- including the part about the rock being painted over, then turned over -- he publicly apologized to Perry.
Perry accepted.
You apparently missed that part...
He shouldn’t have had to apologize. He was very short sighted about calling somebody a racist before he thought about it. Or maybe he did it just to smear Perry. Then offered his phony apology.