Social Security gives tens of billions of dollars each year to senior citizens who don't need it. This money could be better used to support poor children. Most of the elderly are not very well off. However, even if they were better off, it would be hard to justify taking away their Social Security on either moral or economic grounds. Social Security is a social-insurance program, not a welfare program.
People pay into it during their working lives.
They have a right to expect something in return, just as they expect interest payments when they buy a government bond. If benefits for higher-income retirees were cut back further, those people would be receiving virtually no return for the taxes they paid in. This would be certain to undermine support for the program. From an economic standpoint, means testing or any other way of denying benefits to the wealthy would be foolish, because it would give people a great incentive to hide income and thereby pass the means test. There are many ways this could be done.