You could try changing the user's password with root to see if that makes a difference.
If that fails, you might consider installing another display manager like lightdm. Since root works, you could download it with dnf if your network is good. You then need to make sure that the display manager is enabled with;
systemctl enable graphical.target
Make sure the graphical.target in /etc/systemd/system points to lightdm.
It's possible to have many display managers installed and use the program: system-switch-displaymanager, to switch between them;
The Display Manager Switcher is a tool which enables users to easily switch
between various deskplay managers that they have installed. The tool includes
support for GDM, KDM, XDM, WDM, LightDM, LXDM and SDDM