The script
did source the file.
That's not the problem though. It's a side-effect of processes. When you execute a shell script, you
create a new process for the script to run in. Any changes to the environment your script makes are isolated to the shell script's process. Those changes are not, and
cannot be pushed back up to the original shell.
The only "fix" for this is to source the script rather than execute it.