This bug is noted (but not solved) as a github issue here: https://github.com/magit/magit/issues/862
I think the issue here is that magit is calling 'emacsclient', which by default is /usr/bin/emacsclient. It needs to call the emacsclient that is packaged with emacs in order to work properly - other emacsclients (from homebrew, macports, etc) won't know how to connect. Normally most of us take care of this with an alias or environment variable in our shell startup scripts. However, when you run emacs.app outside of a shell it won't see these. I was able to get git-commit-mode to work properly by adding this to my init.el:
(set-variable 'magit-emacsclient-executable "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient")
I'm using an EmacsForMacOSX build, 24.3. This worked for me, hopefully it fixes it for you as well.