The problem is that if you are using the same gmail server for different accounts, it will change the address to the address of the server you are using.
To fix it, you will need to check each gmail account settings in Mail and on each device. Make sure each account has the correct outgoing server selected for it in the list with the correct user name & password for that account and check the box to use only that server with that account.
Anothe way to fix it to use any gmail server with any account is to go to gmails website. Go into settings and either the Accounts tab or Pop & Forwarding tab (don't remember which it is under) and find the setting to Send Mail As. You can add the other gmail accounts to it and create the setting for each different account to what address to use (put the email address of the account you add). Then gmail will leave the address used instead of changing it.
You will have to do this to all accounts, or just use one as the main account and add the other address to it. Then in you devices, use the SMTP server for the main account.