Your system may be stuck with maintenance_mode set to 1 and not 0?
bench update
I think sets that to 1 when it runs, then sets that back to 0 when it is done.
So expect to see this:
frappe@ubuntu1804lts:~/frappe-bench$ bench show-config | grep maintenance_mode
maintenance_mode 0
Your options are either to set that with this:
bench set-config maintenance_mode 0
The other option is to run bench migrate
Reference Unable to run ERPNext on CentOS 7 post successful installation - #2 by makarand_b