Although we have already good answers here, I will give an extra hint. Check if you have a .npmrc file inside the folder /Users/YOUR_USER/. When this problem happened to me, my .npmrc file had this content:
http_proxy=http://<LOGIN>:<PASSWORD>@<PROXY>:<PORT>
https_proxy=http://<LOGIN>:<PASSWORD>@<PROXY>:<PORT>
proxy=http://<LOGIN>:<PASSWORD>@<PROXY>:<PORT>/
https-proxy=http://<LOGIN>:<PASSWORD>@<PROXY>:<PORT>
prefix = "D:\\<SOME_DIR>\\nodejs"
cache = "D:\\<SOME_DIR>\\nodejs\\npm-cache"
Due to prefix and cache lines, the bower was being installed inside the folder specified in prefix.
SOLUTION: I deleted prefix and cache lines. The I installed bower again with the following command:
npm install -g bower
After that, my bower became global as expected.