How would this even work, zero fees cryptos? Who would confirm transactions and such?
In IOTA, for example, to make a transaction, you should confirm 2 other transactions. So you basically pay with electricity and computer power instead of coins. So everyone confirms, making the system fully decentralized
Tangle is still relativly new technology and as it is from this point you still have to wait a bit for your transaction to confirm. Thing that doesn't makes me a fan there is that first 100 addresses hold more than 60% of all coins. Plus every time you send a transaction you reveal part of private key which is why you have to constantly change to a new address just to make sure - which makes it one time use only.
And what about the business model behind it? Companies do need to make some money and fees, as low as they can be, can be a important part of their income.
Well even with bitcoin miners get reward and not ones that run full nodes which can tell you that not even bitcoin business model is perfect. These coins work in the idea of "free will" so if you support the network hopefully you will try to host full nodes at your own cost, and everybody does a bit of a job at securing the network.
The big question right now is why doesn't everybody uses these two coins if the fees are 0? Not enough marketing or not enough spread among exchanges?
Both and they don't have enough credibility, because with POW or POS we somewhat know and are sure it works. Other people just go with famous coins, scalability and fees are not the big problem, I personally don't mind paying few cents fee. It requires more work for exchanges to implement these as they are not based on blockchain.