El problema es que
copy no es lo suficientemente "profunda". Es decir, de un objeto copia su contenido, pero si parte de ese contenido es una referencia a otro objeto, lo copiado será la referencia y no el objeto.
Para que la copia tenga la "profundidad" que quieres, debes usar
deepcopy http://docs.python.org/library/copy.html
Saludos.