Одна проблема состоит в том, что функция clean должна возвращать полный набор очищенных данных (см. docs ). Вместо того, чтобы менять атрибут 'required', я считаю, что вы должны выполнить проверку, чтобы убедиться, что «phone» пуст, и вызвать «ValidationError», описывающую проблему.
Кроме того, поскольку ваша форма наследуется от 'NewUserForm', вам следует вызвать
super(NewUserFullForm, self).clean()
, чтобы гарантировать, что унаследованные поля также очищены.