For every transaction made by those accounts will require ram? transaction types are token transaction and transactions having some payload.
No, these are stored in the blockchain log, so accounts only need CPU for processing and NET for storage.
for every contract will I need ram
Yes, nodes store the current contract version for each account in RAM, so if an account uploads a contract, it needs to have RAM available.
Which one is cheaper paying GAS on ethereum or staking ram on EOS? and why?
I'm afraid this is a broad question that depends on exchange rates, RAM supply/demand, the way you use your dApp, RAM requirements, etc.
If an account only want to use the EOS mainnet to transfer tokens, without storing additional data in the RAM, all they have to pay for is the RAM required to store the account name, keys, and relevant metadata (512byes - 3KB). If the account interacts with contracts that require RAM storage, then the costs are specific to the data that is required to be stored by that contract.