Because there is no changes, the IC tells you that no upgrade is required - “hash of the wasm is the same as the once already installed”. If you modify the code, build and deploy again, it should work out.
Maybe it was not build? Either way, don’t really know another reason to “Module hashxxx is already installed” than trying to install the same version of the code.
dfx build is shorthand for dfx build --network local. It does not affect the wasm built for --network ic. Therefore dfx canister install --network ic will not see any updates to the wasm
Either use dfx build --network ic (or shorthand dfx build --ic) before dfx canister install or use dfx deploy --ic, which will build and install automatically