Рассудите спор?
Беды бэкендера вас касаться не должны, вы свою работу сделали нормально, на сколько я могу судить. Если бэкендеру хочется использовать средства Django для генерации форм, он может либо убрать вашу вёрстку формы, либо использовать её для генерации в шаблонном коде. Похоже, что он просто не умеет работать с bootstrap-формами. И приём формы ajax-запросом - это не двойная работа, если бэк написан нормально.
В общем случае клиентская и серверная валидация вообще не пересекаются. На клиенте вы проверяете валидность мыла есть ли человеку 18,21 год, ошибку в вводе кредитной карты. Обязательные поля. На сервере вы валидируете никнейм, страну пользователя, обязательные поля. Все то что нельзя валидировать на клиенте. Грубо говоря на клиенте правите опечатки а на сервере получаете окончательный ответ. Поэтому озвучьте эту мысль заказчику и бэкендеру