My setup was a little bit different. I was accessing my Docker account on a remote server within a script. Because of this, even if I used a PAT I was never able to login. Unfortunately the only way I was able to login is by not using 2FA.
Yes, I agree this is terrible practice and I do not encourage it, but if you get creative you can find a way around this without compromising your account.