I'll come right out and say it: learning to program will teach you to think better. It gives you another tool with which to interpret and analyze the world, and if applied well that actually can result in better thought.
I think you should amend that from "will" to "could". You could have a terrible teaching, you might not have the will to learn, and you might not learn.
I think the point is that learning to program is not necessarily equivalent to learning to think better. They may learn to program, and not learn to think better. Which is what this whole thing is about. Should we be telling people "you need to learn to code" to possibly fuel an economic hole, or should we be telling them "We want to teach you a valuable way to think and reason by using programming" which may address future economic and social needs?
"Think better" is a pretty nebulous term but I'm not sure you can learn any new field - especially not one concerning a new manner of problem solving - and not have learnt to "think better".
There are lots of CS students who haven't learnt to "think better". They can type out symbols, and know what those symbols mean individually, but they can't combine them in meaningful ways without lots of prompting.
I cite a host of CS students that I've tutored who have "learned to program" (as in, they know what the symbols mean, and if given prompting can write them), but can't think logically.
They can write code, but not by themselves, or not without it being really messy, convoluted, and not doing what it's supposed to.