Accepting every transaction is the selfish thing. Every batch from the oven yields an unlimited amount of bread. And there is a thousand people who offer to pay very little. Will the baker decline to take the money, throw away the bread and let the competitors make the sales instead?
The problem is that there isnt an unlimited supply, in this case of
time. The generator that accepts every transaction is not going to be 100% of the blocks generated, therefore there will be transactions that dont get accepted in every block (i.e. low fee ones). What people are paying for isnt to be included (where they are included anyway in the long run), but rather to be included more reliably in the next block(s).