As this was lifted from django-password project, the original use-case in that project was to use validator classes that are bound to Form submissions. So I believe that is why this pattern is use (if you look at django-passwords/passwords/field.py, these global instances of classes are bound to Form fields.

I wonder if it might be useful to keep these validators as such, as I still need to bind this checking to the Reset Password workflow that edX uses which still uses an out-of-the-box workflow defined in Django libraries.

I'm not set on it - and yea - I had to write all those specialized decorators to support test patching.