First, instead of the code you're using to customize face helm-selection, just use M-x customize-face, and save your changes. Using Customize is nearly always a better idea.
To your question:
Put your cursor on the text whose face you want to know, e.g. the face you say is "green and purple", and use C-u C-x =. The *Help* buffer will tell you (...
Put your cursor on a char with that gray foreground, and use C-u C-x =. The *Help* tells you (near the bottom) what face(s) are used there.
Then use M-x customize-face to customize the face(s) to be as you like.
Following @lawlist advise, using :box attribute for mode-line-inactive made it.
The mode lines images shown in the question are from inactive frames.
The second image shows an inactive frame with a mode line that does not render the straight lines.
(set-face-attribute 'mode-line-inactive nil :box t)
renders the straight line with foreground color: