Try putting this at the top of every script that is involved in the signal (connect or emit):
signal mode_change
On the GUI script:
player.connect("mode_change", self, "change_label")
On player script:
emit_signal("mode_change", mode)
I'm fairly sure that will work.