The solarized terminal-Vim colorscheme can work in one of two different ways.
A 16-colour mode: Solarized only contains 16 colours, so in this mode you set your terminal to use the solarized colours as its 16 colours, and the Vim colorscheme just uses these. So for example, the Vim colorscheme will request terminal colour "1", and the terminal displays this as the hex colour #dc322f.
A 256-colour mode, where it picks the closest matches for its 16 colours from a 256-color palette.
The former method is strongly recommended by the author (and by me), and it sounds as though you are happy to use this method because you state that your "terminal has the correct colors and background".
However, it appears from your screenshot that your terminal does not have the correct colours set. (White is not a colour in the solarized set, and although I haven't eyedroppered it, the other text colour in the screenshot doesn't look to me like it's Solarized "Violet" (#6c71c4), either.)
If you remove the lines setting
g:solarized_termcolors from your vimrc*, and configure your terminal colours correctly, then you should find that the 16-colour solarized colorscheme will start to work.
* These lines switch solarized to using its (less faithful) 256-colour mode. This should also work, (I suspect that @Jubal is correct in suggesting that BCE is the problem here), but the 16-colour mode is preferable unless you explicitly don't want to use solarized in your terminal.