I had the same problem, and I believe it was due to a corrupted wp-login.php file on the server.
I compared my wp-login.php file on the server with the copy I had on my computer, and found that the one on the server was smaller, with only 2,056 bytes size and with only 65 lines of codes, whereas the computer copy was much larger at 19,738 bytes with 517 lines of codes.
I then renamed the server copy of wp-login.php to some other name and re-uploaded the file using my computer’s copy. I kept the original file on the server, renamed, so that I can have a detailed look at it later, without it being overwritten by the new upload.
My problem solved.
I do not know why the wp-login.php file on the server became truncated.