With Ethereum, max fee is gas multiplied by the gas price. But with Tezos, when i construct an operation, the fee is personally set, why is it not computed by
The full fee is always paid for every transactions - the gas limit is just that, a cap on the amount of gas a given transaction can consume. A baker can be guaranteed that they are paid at least fee/gas_limit per unit of gas consumed, even if they consume less.
Some bakers will also enforce a minimum per_gas fee, which is currently set to 0.1 mutez (or 1 nanotez) per unit of gas.