It's not about if transaction fees cover the cost of mining, it's about the fact that some people, holders, pay nothing to secure their wealth and that cost is subsidized by transaction fees. This isn't me complaining about some injustice or something, it is about the incentives on the bitcoin network.
Could they conceivably cover the costs of security?? For a time, yes, as you see now that is exactly what is happening, but ultimately incentives are your outcome. People are incentivized to hodl, because they can offload their security costs to those who spend or move around bitcoin, and it's compounding, it has a positive feedback loop; the more people just hodl, the more transaction fees have to cover the cost, the more incentive someone paying those fees has to just hodl. Ultimately, there's a threshold somewhere where security begins to decline, and with it, value.
Mining becoming cheaper with energy... I tried to look up the name of the phenomenon and I can't find anything (search engines filled with renewable energy blogspam) and I can't remember, but historically it has been empirically observed that, as energy becomes cheaper, people spend *more* on it and increase their energy usage. So far bitcoin has also followed this. Also, co wider increasing efficiency of ASICs does not lead to less mining power on the network, but simply a better edge to whoever can get their hands on it. Ultimately, security of the network is not a function of hash power, since machines get more powerful and cheaper, but is a function of share of total available hash power in the world held by the network, and that very closely correlates with energy expenditure by the network of miners. If the expenditure goes down, security does also.
As the block reward decreases, banks will run miners at a loss. This will centralise mining further.