If the "context" of a smart contract can see only the transaction where it sits and its inputs-outputs, how can a smart contract interact with other smart contracts living in different transactions?
But that doesn't mean different smart contracts can't interact. The interaction must simply happen in the same transaction.
As an example, imagine you have some Uniswap-like liquidity pool as one UTxO and another UTxO belonging to an auction contract. Then you can use the pool to swap tokens and then use the swapped tokens to bid in the auction, all in one transaction. That transaction will have both UTxO's as inputs (plus additional inputs for the funds that you swap) and updated UTxO's for both the liquidity pool and the auction as outputs.
You have to think differently when working with the EUTxO-model, but that model is at least as powerful as the accounting model used by Ethereum.