Apache isn't going to read the global user profile.
The big question is what are you actually wanting to do this for?
What you are doing is generally the wrong way of doing things with Apache, but because don't know the actual problem you are trying to solve, then can't say what you should be doing.
Amend your question and state what environment variables you are trying to set and why.
Not specifically what you are doing, but SetEnv in mod_wsgi doesn't set process wide environment variables. It sets per request variables in the WSGI environ dictionary.
PassEnv, which is related to SetEnv, would do the same thing but rather than the key/value being defined in Apache configuration file, it would come from the existing process environment variables that Apache inherited.
So, neither of the directives actually has the effect of setting a process wide environment variable for a WSGI application running under mod_wsgi. IOW, they would not be accessible via os.environ as you seem to want.
Now, for PassEnv specifically, if what you are wanting to do is have Apache process environment variables also be available to a WSGI application under mod_wsgi, then PassEnv is actually redundant as the Apache process environment variables will already be available.
This is because in embedded mode WSGI applications run inside the Apache child worker processes. Even in daemon mode, the daemon process is a direct fork of the Apache parent process (no exec of any separate application) and so is effectively also running inside of Apache.
So, PassEnv is not required as they would already be set.
To do it as you are wanting, you are simply doing it in the wrong place as Apache init.d startup scripts aren't going to source the global user login profile.
If you are using an Apache distribution from the Apache Software Foundation, or one that hasn't deviated to far from it, the correct place to set environment variables for Apache is in the 'envvars' file in same directory as the Apache executable. On various Linux distributions the Apache setup totally ignores that file and instead it is necessary to set them in some special file along with the system specific Apache init.d files. What exactly you have to do there will depend on the Linux distribution.
So as I said, Apache will not read that global profile file.
Doit in the right spot and technically it could work, but relying on setting environment variables which affect the whole of Apache wouldn't be what I would recommend.
You would be better having a WSGI script read a separate config file which sets the system status and then base things of that. Using a config file specifically for the purpose isn't as magic as relying on environment variable settings coming in from a file which isn't specifically part of the project but Apache init scripts.