chsh doesn't change $SHELL
The problem was the "iTerm" app's conflicting settings with the shell. To resolve, I've reset "login shell" command in iTerm preference window:


  iTerm.app -> Preferences -> Profiles -> General -> Command -> Click on "Login shell"


Then, I executed chsh to modify it as /bin/zsh. 

To reproduce the problem (having $SHELL set as /bin/bash/, even though the login shell is /bin/zsh), I just had to change "iTerm" setting back to "Command: /bin/zsh/".