I am currently going through the directions and static map APIs and trying to display a map for each route individually. So I got the routes from the directions API but the results are inefficient (to put it mildly).
For example: For the directions API call with the following params: alternatives=true
departure_time=now
origin=MF+Vruksha%2C+121%2C+Mount-Medavakkam+Main+Road%2C+Nanmangalam%2C+Chennai%2C+Tamil+Nadu+600117
destination=Mast+Kalandar%2C+6%2F1%2C+By+Pass+Road%2C+Near+Murugan+Kalyana+Mandapam%2C+Anand+Garden%2C+Gangai+Nagar%2C+Chennai%2C+Tamil+Nadu+600042
The last route (overview_polyline) in the request when plotted on a static map gives me this (please note the useless cycle at the bottom of the image), whereas the more logical route would be this as given by maps.google.com. Please note that I have removed the API key from my request and it's not an enterprise key.
Your problem is with the input to the directions service. Those are "places" not postal addresses. If I get the coordinates from the places api, then get directions, I get a very different result (the second alternative looks a lot like the google maps result you posted)