No veo por que debería de dar 0.
 
En todo caso debería de dar 0.2 (
Lo cual es razonable cuando lees los gotchas que tienen los flotantes). 
Lo que pasa es que en python es que el operador modulo % regresa el 
residuo de 2 numeros. 
Lo cual para los enteros esta definido mas o menos de la siguiente forma: 
 
Pero de manera general se puede extender la función mas allá de los números naturales, como reales y complejos. 
http://en.wikipedia.org/wiki/Modular...nder_operation 
Entonces como puedes ver en las formulas del link anterior y con el dominio a flotantes tu expresión (1.2 % 1) se transforma en algo como (1.2 - int(1.2 / 1) * 1). Y por eso te da ese resultado. 
Si lo prefieres puedes leer 
la explicación del operador % modulo con manzanitas que hice hace tiempo.