He did something stupid and then apologized for it and is now making a MASSIVE gesture to help prevent the problem for which he was criticized.
People probably consider it disingenuous and just a cheap grab to try and repair his shattered public image. $1 million is a stuffload of money, but remember the guy makes $12.5 million a year. The equivalent for the average American would be like $5000.
It's still a good thing, but it's hard for a guy like him to come off genuine when some kind of reparation payment is literally required for him to still have a career at this point. It's practically like paying a fine to the court of public opinion, yeah?