Мне не нравится глобальная переменная clients, которую вы объявили в файле
server.py. Возможно, правильнее передавать список клиентов через конструктор.
protocol factory должна быть callable, которая клепает экземпляры класса протокола, передавая в конструктор список клиентов (который впоследствии может разрастись во что-то более сложное).