atan дает ответы в радианах, а вам, наверное, градусы нужны. Хотя все равно не спасет, поскольку для небольших расстояний нужно использовать поправку на длину параллели:
dx = dlon/cos(math.radians(lat))
dy = dlat
azimuth = 90-math.degrees(math.atan2(dy, dx))
для больших расстояний нужны формулы
gis-lab.info/qa/great-circles.html
gis-lab.info/qa/angles-sphere.html