There is absolutely no way to know for sure.
But hypothetically, if we knew how many addresses have a balance (let's say N addresses), then we can assume that there are M people, where M <= N that hold bitcoin.
We could use LoyceV's data from here:
http://addresses.loyce.club/I am using the "List of all funded Bitcoin addresses" file.
It has 51,723,705 addresses in it, so we know that Loyce's node is aware of 51,723,705 addresses that have a balance.
We can assume that there are no more than 51,723,705 individual bitcoin holders.
Bonus problem: Can 2 or more people own 1 address? Absolutely! Let's say we both have one wallet and we use them in a multisig setup. This would generate an address set where we are both needed to generate the addresses. So all these addresses have both of us as owners. But we also own the addresses that our wallets generate separately.
Bonus problem 2: Can I own one of your addresses? In fact I could theoretically own all the addresses that exist using a single seed phrase, if I used various derivation paths.
EDIT:
Zaguru12 mentioned it first