Проблема в тому, що models.py десь двічі імпортується, відповідно обробник сигналу реєструється двічі. При коннеті обробника до сигналу, модна використовувати додатковий параметр dispatch_uid, який забезпечує однозначну ідентифікацю обробника і запобігає його повторній реєстрації
def connect(self, receiver, sender=None, weak=True, dispatch_uid=None):
"""
Connect receiver to sender for signal.
Arguments:
receiver
sender
weak
dispatch_uid
An identifier used to uniquely identify a particular instance of
a receiver. This will usually be a string, though it may be
anything hashable.
детальніше дивіться у файл django/dispatch/dispatcher.py