Because American Express charges companies big fees. And retailers would sooner not give away so much of their profit to a card company, especially when almost everyone in the UK who has Amex also has some other way to pay so it's not like retailers lose the sale over it generally.
People Also Ask
The different fees often make or break a deal for a merchant. This is why many merchants, especially small businesses, don't accept American Express. American Express' interchange fee is just too high. Providers like Visa and Mastercard charge between 1.15% and 2.5%, while Amex charges merchants between 1.43% and 3.3%.