How many accounts can a geth node hold/have? Are there any upper bound limits?
There is no fixed limit.
Many exchanges or other crypto companies run nodes with hundreds of thousands of accounts. One particular commentator on Github mentioned 200k+ accounts on one node, which prompted an improvement in account iteration.
You should be able to have a fairly large amount without issue.