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.
When there is an error in the syntax highlighting code, it is silently ignored by the font-lock package. When this happens, the buffer can be left in an unhighlighted state.
You can use the package font-lock-studio to investigate what happens, and catch errors in the font-lock code. It is a debugger that lets you step each part of the font-lock rules and if ...
When taking other people's code, it's important to understand what it does.
For that you can use C-h o (aka describe symbol). E.g. C-h o indent-tabs-mode RET will tell you:
Indentation can insert tabs if this is non-nil.
and C-h o tab-width RET:
Distance between tab stops (for display of tab characters), in columns.
NOTE: This controls the display ...
I assume you always want an indentation with 4 spaces even if there are indents of width 8 lurking around in your python file.
Set python-indent-guess-indent-offset to nil and keep the default value 4 for python-indent-offset.