I had the same problem, and after some trial and error, finally figured out how to solve it. Here's the trick that worked for me:
- Log into your SO account using your old GMail account (the one your SO account is currently associated to)
- Now go into a separate Gmail window and log out of GMail (you could also just go to the Google home page and click sign out)
- Now go back to the SO browser window, and click the "change openid" link in your profile
- When confronted with the list of openid providers, now click "Google".
- This will take you to a Google login page. Enter your other GMail credentials here (for the gmail account you want to associate), and log in.
- Accept Google's notification page letting you know that you're logging into SO.
- You'll get redirected back to SO, and it will tell you that this is an openid that SO has never seen before. Agree to this page.
- Voilà, your SO account will be associated with your other gmail account.
The key to making this all work is step #2 above: signing out of gmail/google after you've logged into SO. Otherwise, you'll still be logged into Google when you try to select a new OpenID, so instead of getting a Google login box, when you select Google in Step #4, you'll simply be re-logged-in to your existing Gmail account and never get an opportunity to select a new gmail account.
BTW, I suspect you can avoid these hassles by simply unchecking the "remember me" option when you associate to your google openid in the first place.