Possibly because the actual all-in cost including fraud set-aside is quite high and if a fixed fee were charged it would in many cases exceed the transaction value?
In other words, if it costs 10 units on average to process a transaction then the payment service isn't going to be worthwhile for any transaction less than 200 units. All transactions much higher than 200 units would see a reducing percentage of the transaction as processing costs.
Instead, everyone gets charged a percentage of the transaction value so that the large transactions subsidise those with a low value and this enables small value transactions to be seen as cost-effective by sellers.