The throughput of the bitcoin blockchain is due to the block size limit of 1 MB, combined with the block time of 10 minutes. Since a small transaction (one input, two outputs, all regular addresses) is about 230 bytes in size, this means the peak throughput is indeed as you say:
1000000 / 10 / 60 / 230 = 7.25 tx/second
In MultiChain you can set the block size limit much higher (up to 1 GB) and the block time much lower (down to 2 seconds), so based on this calculation it could process over 2 million tx/second. But for now the codebase itself can handle a little over 1000 tx/second on mid-range hardware, using either the multichain or bitcoin protocol. (In reality you would also have to consider the connection between block size and propagation latency which affects the minimum viable block time.)
Ethereum's constraints may be based on block gas limits, and/or what the codebase can handle – I'm not sure.