Porque a parte restante do seu script (após a chamada bash ) será executada depois que você sair do bash (digite exit command ou "Ctrl + d"). Chamar bash em seu script toma o controle de uma execução adicional.
Aqui está a versão atualizada:
HOME="/usr/users/$1"
cd "$HOME"
SOURCE_PROFILE=/etc/profile
if [ -f "$HOME/.bash_profile" ]; then
SOURCE_PROFILE="$HOME/.bash_profile"
fi
if [ -f "$HOME/.profile" ]; then
SOURCE_PROFILE="$HOME/.profile"
fi
bash --rcfile "$SOURCE_PROFILE"