Sofitel!
Re your hotel question... I'd go for the Sofitel. It IS across the street (I've stayed there), and for a late arrival it's very much a no-brainer. (We arrived at a similar time on our last trip to ATH).
I would also opt for the Sofitel in the second situation you describe. The town centre is just a quick train ride away, so - as you say - you can easily drop your bags and spend the day in town and have a more leisurely start to the day before your flight.