Maybe Amazons motives are not really based on their obligation to protect the company from unnecessary liability. Maybe that is just a handy excuse for getting rid of a customer that is hurting their reputation. It is difficult to say from the outside. But even then how do we decide which companies are allowed cease business with customers damage their reputation. What if a smaller provider has an existentially large customer who threatens to leave if they don't stop doing business with another unsavory customer. Will have a rule that is so strict they just have to go out of business? Or will we not allow the large customer to leave? It is god damned mine field.
This is all such a beautiful example of the immense complexity of the real world. People must make hard decisions where there are no clearly right answers. Maybe they try to do the most ethical thing, maybe they look out for their company, or maybe they serve their own selfish interest. Regardless, there is lots of potential for unintended consequences. For one, others will then frame those actions and the consequences in a narrative to support their own business or political goals.