You are right .. the only way to prohibit spam (and spam related bots , cuz all bots aren't bad) is to adopt a value4value model. But spam really ain't the biggest problem of social media .. it is our lust for clout :-)
A better option ( than Elon's) monthly fee is to have a default charge ( say 100 sats) when you follow someone . A user should be able to change ( increase or decrease ) this charge just the way relays may put a charge . A user ( bot or human) is as important as the "relays" . Anyone should be able to access the "global" stream but if someone wants to see my feed ( my profile ) than I should be able to decide a charge . And only a follower should be allowed to comment on my posts - because before you comment on my post , you should have a view on my history ( the context) .
The reason I say this is the biggest curse of social media is to accumulate more (and random) followers. More followers means we are building echo chambers ( like Twitter ) . That is where polarisation and hate breeds. The problem really ain't bots , it is our lust to secure (and boast) millions of followers on our profile .. like a #socialScore . If you attach a charge to the clout then you turn the clout into a social responsibility.. anyone with large following say Elon or Jack may get rid of spam by increasing their follow fees . On the other hand people like me who don't have any followers don't care about bots following me - so I can fix a lot lesser fees ( say 1 sat) if someone wants to follow me .. this way we not only get a fix for spam , we also break the echo chambers ..