Don't try to create one .emacs file for all your environments and conditions under which you might access them unless you have time on your hands.
Longer answer for those who might be in a similar circumstance...
How to troubleshoot
Thanks to the input from commenters and others. I'm putting things that helped be get to some of the issues.
Yes, what you want is a "hungry" or "greedy" delete/backspace. f90-mode doesn't come with such a thing, but cc-mode does. It includes two inter-related families of functions c-electric-delete* and c-hungry-delete-*. Specifically take a look at c-hungry-delete-backwards via Emacs's built in function help (C-h f c-hungry-delete-backwards). ...
This can be done using this function, based on this answer on the Emacs wiki.
(defun my-backspace-whitespace-to-tab-stop ()
"Delete whitespace backwards to the next tab-stop, otherwise delete one character."
(if (or indent-tabs-mode (use-region-p)