I see Ethereum (ETH) can store 2256 smart contracts, so is there any description about this for Cardano, i.e. how many contracts can Cardano store?
In Cardano, the smart contractors are submitted as transactions with a validator script. Funds locked in the smart contract are in UTXO with the address as the "Script Address". And based on three parameters called datum, redeemer, and context, the validator script provides the go-ahead for the release of funds.
Based on this setting theoretically, there is no limit to the number of deployable smart contracts since there is no limit on how many transactions can be submitted to the blockchain. The size of Datum, which can carry some bit of data, is yet to be promulgated.
I'm not sure that I fully understand your question. 2^256 what?
To my knowledge, the maximum size of a smart contract on ETH is 24 KB. According to the Cardano Foundation, the maximum transaction metadata size is 16 KB. Since smart contracts are not yet deployed, I'm not sure what the size limitation will be but, it will probably be in this ball park.
The total number of smart contracts in Cardano can be enormous, but we have to look at it from a different point of view. It is not the number of contracts that matters, but rather their total size. Today, the max size for a single Tx is 16 KB. Charles Hoskinson said, "In the Basho era, there is a room up to 256...512 KB" (regarding smart contracts). Imagine how big the ledger will be at least in 2025...