Yes, this happens because when you record a transaction in QuickBooks and the address matches the name as you record the transaction, then QuickBooks doesn't actually save the address on the transaction. Instead it just points back to the name and gets the address from the name to display on the transaction when you view it.
This is an old legacy tactic engineers used to save space, as if anyone cares about hard drive space anymore. Intuit could easily change it, but they haven't.
The only way around this is to alter the address on each transaction as you save it, and then if prompted indicate that you do not want that change to write back to the name. When you do that, then the address on the transaction is saved and then will not change later if you change the name's address.
You could, for example, add a space between the state and ZIP code. That's an almost invisible change to the printed form, but it is enough.
If you choose to do this, there's an option that will help you to not accidentally update the name - it'll disable the prompt that comes up after you change the address on a transaction. Find it at Edit | Preferences | General | Company Preferences, labeled "Never update name information when saving transactions."