I don't know if you can even force such a thing from the code, am I wrong?
Generally speaking there are ways to prevent spam attacks or make them harder/more-expensive. For example in this ongoing attack the exploit had to be patched in early days (the unlimited witness size) and other ways they use (the OP_FALSE OP_IF thing) should have become non-standard.
On the subject, I always thought that you spend money to make money, this is about money flow, so even if they spend the transferred sums on blackjack and hookers they don't have to spend 40 millions a day on fees, if they do so then it means they make 45 millions out of this, so forgive my language but where are those 45 million coming from?
Someone is enabling those fees to exist by spending it and with what purpose and more of a concern of mine with what LIMIT?
When it comes to this particular spam attack the participants are the regular people who are gambling on junk that is not even real. Just because someone is calling that junk "token" and has created a market where these gamblers can bet on its price.
This is what makes it last and hard to counter. There is no limit to this either, they don't need millions to pull off this attack either. For a newbie who is hoping to make a big profit (like a grand if the junk gets pumped) it doesn't matter if their transaction costs like $50.
P.S. The 500 sat/vb is caused by the consolidation as @hosseinimr93 said but it is shooting up this high because of the ongoing spam attack that had already kept the mempool semi-congested.