There are principled reasons to be against charity, namely that charity redistributes money to causes arbitrarily and undemocratically rather than to causes decided by a majority of people voting on what causes to support. When the government runs these programs, we get to vote on how they're administered. When billionaires run them, who gets help and who doesn't is entirely at the mercy of King Tech Bro the First. And to the extent that society heaps boundless praise on billionaires for their altruism, we are complicit in their reputation laundering; allowing them to continue to enjoy undue status in society in perpetuity that would not persist if we simply taxed that wealth away from them and did something like massively expanding public housing to end homelessness or something instead.
There's also principled reasons to be against this. Namely, that government tends to be woefully bad at optimizing for moral good (cf. the American prison industry or California's attempts to end homelessness) and is just as likely to put that money towards things the majority of the population disagree with. The same logic would say that Russia is right to strip its billionaires of wealth to pursue foreign wars.
Yes, government is bad at optimizing for moral good. Which is why billionaires should give their wealth to their own workers. If Tim Cook paid the people building iPhones more it would do far more good than him donating the money that comes from increased margins to some charity. The workers could decide what they need for themselves!
Instead, the idea seems to be that people are not properly qualified to identify their own needs and such decision need to be made by funneling profits to a CEO who then has superior knowledge of how to help the world and donates that money as he sees fit.
Turns out that billionaires tend to not want to do that, so it also turns out that using government power to compel them to do so using the power of taxation is the system that scales best.