On my Macbook Pro I use Python 2.6 as provided by the Enthought Python Distribution. I ran into some problem with Axes3D so I decided to upgrade to the latest version from source. While trying that I got a similiar error message as discussed in
i.e. error: png.h: No such file or directory
In short matplotlib could not find libpng (or png.h from that). I had libpng installed via fink in the usual place /sw/include etc. This seems to be a quite natural choice, so I wondered why matplotlib does not find that out of the box. Following the tips in the above post I looked at basedir in setupext.py For some reason the basedirs for darwin where commented out. Uncommenting the basedirs did the trick for me  and matplotlib happily installed with the libpng from fink.
Hope this will help other mac users. Thanks for the great work on matplotlib!
 Here the relevant lines for setupext.py
'darwin' : ['/sw/lib/freetype2', '/sw/lib/freetype219', '/usr/local',
# it appears builds with darwin are broken because of all the
# different flags the deps can be compile with, so I am pushing
# people to :
# make -f make.osx fetch deps mpl_build mpl_install
#'_darwin' : ,