Как защитить код от плагиата?
Я поместил код в exe, но это защищает только сам код
Утверждение неверно. Код может быть извлечен из exe без затруднений

Единственный способ защитить код на Python - не отдавать его пользователю, а запускать на сервере. Например, в виде web-приложения.
Так можно же просто программу привязать к железу и все, либо к серверу определенному, если зависит от него. А вообще и правда не понятно зачем вам это, по идее вам заплатили за создание программы, а соответственно вы ее продали во владения заказчика. Можно понять если вы предоставляете программу по подписке, тут ясное дело, а в вашем случае это зачем ?