I disagree with most of this. I'm not opposed to possibly changing the name, but there does need to be some kind of penalties associated with violation of the code that includes termination of membership.
The ACM needs a Code of Ethics that has some kind of punishment built in. Every other major professional organization (including the IEEE) does. Part of the value in ACM membership comes from the fact that stating that one is a member in good standing has meaning. People who have been found to not meet a minimum standard of professional behavior need to be removed from membership.
I believe that if people who are dishonest, who discriminate, who don't respect privacy or confidentiality, who don't work to improve the public understanding and perception of the field are allowed to be ACM members, that significantly devalues membership for me. If someone is known to be a member is conducting themselves in this way, there should be a method to report them and have their actions reviewed.
All of that said, I also think that there needs to be two codes. One needs to be clear and enforceable and commitment to it needs to be a requirement of membership. My understanding is that this code is supposed to be that. It's not, at least in its current form. There is also a need for an aspirational code of ethics for the computing profession that applies more broadly than ACM members and can provide a starting point for education and discussion. I believe that already exists in the form of the Software Engineering Code of Ethics and Professional Practice (however, that code has not been revised in almost a decade). These two codes should not be combined into one.