At the end of each power’s turn they check to see if there are any enemy warships in convoy zones that border territories controlled by the power in question. So, in your example, at the end of Italy’s turn, they would deduct up to 2 IPC from their income for the US sub present in z97. They cannot lose more income than the total value of territories that Italy controls that border z97. If Italy is under Allies control, the convoy disruption is irrelevant, because Italy does not collect income while it is enemy-controlled. And the new controller would not lose income to a friendly unit (the US sub).
Then, on Germany’s turn, they would lose up to 2 IPC income for the US sub in z97. Again, they can’t lose more than the total value of German controlled territories bordering z97.
So, essentially, the US sub is doing convoy disruption to BOTH Italy and Germany as long as they both control territories that border z97.