Is there any maximum limit on the number of peers an Ethereum node can have? Does this vary for private and public networks?
In case of Bitcoin, is there a limit?
For an ethereum geth node you can specify the maximum number of peer with help of the
--maxpeers command-line flag (see https://github.com/ethereumproject/go-ethereum/wiki/Command-Line-Options). It defaults to 25.
This limits depends on the node type (e.g. parity or ccp-ethereum have different defaults)
With regard to bitcoin I found this stackexchange entry that states that the limit is 125 (8 outbound+117 inbound) see https://bitcoin.stackexchange.com/questions/44504/is-there-a-connections-limit-on-bitcoind