As far as I can tell this appears to be a data usage problem, perhaps people are assuming city when they see a match in street number, street name, and state and make a bad assumption.  The zip codes should be different for the two towns -- which as far as I can tell is lacking in OSM data, but USPS should have no excuse on getting Mount Ephraim wrong.  However I would think that the West Collingswood Heights address should be using Haddon instead.

I'm merely a volunteer here so there's only so much I can do, hacking the data is one of the things but as long as it's correct... the current mapping seems correct as far as I can tell.