Cornell (and all of the Ivies) don’t offer merit, but they are 100% need based for up to middle-class incomes. They have an amazing engineering program, particularly civvies. For engineering, you’re likely looking at middle-to-large universities. Private schools are more likely to offer merit except in-state.
UMass - several campuses, Amherst is the biggest with a true campus, but as a state U, I don’t think they offer much aid for out of state students. Ditto with UConn. UConn engineering is very strong, also in Civil, but Storrs isn’t for everyone. Storrs has changed a LOT in the last 5 years, so as you read reviews and ratings, keep that in mind. It can be a weekday school - a lot of in-state students, small state, so students tend to travel on weekends. That matters a lot to some kids, not to others. Keep in mind that despite being in-state, UConn has been getting more and more competitive. I had a lot of students that were accepted at either the regionals or went to another school and then transferred as sophomores or juniors, when it’s much easier to get into any school.
Lehigh - relatively small compared to the schools you have on the list, and Bethlehem is a very small town. Engineering program is ok, but I’m not sure why it’s on your list. I’d lump Lafayette and Bucknell in terms of similar size, opportunity, location type.
UVM - increasingly competitive, great school (can’t speak to the engineering program), great location. A little isolated in northern VT, but Burlington is a fantastic city and pretty large. Plus there’s the skiing!
Syracuse - on the opposite end. Not really an urban school (Syracuse as a city isn’t like a Boston) and they have a traditional campus. It is HUGE - more than twice the undergrad population of most of the big schools (UConn, UMass, Cornell) you’ve listed. Engineering is pretty good, but their communication program is their strongest forte.
To consider: Penn State (great campus, strong programs, and a traditional “big campus” feel plus great engineering school with coops), Carnegie-Mellon (strong technical school, less urban in feel than most city schools, and merit is a strong possibility though they have quite the draw on their own). RPI (and RTI in Rochester) are almost exclusively STEM, so if your son changes his mind, he won’t have a lot of choices there. And a lot of students change their mind on majors and directions. He’d have more options at UMass, UConn, Syracuse, UVM, Cornell, Tufts.
I’m very fond of RPI for the tech minded. They have a lot of additional programs (including a very strong math program), a nice modern campus that’s growing, a cool quasi-urban environment, and it’d be a solid fit, probably a good safety option given your son’s stats.
So if I had to guess/recommend, keeping in mind CS programs are in very high demand and are highly competitive.
Reach: Cornell (or Princeton or Yale), MIT, Carnegie Mellon, Tufts, Fordham
Stretch/Possible: RPI, UVM, UConn, Syracuse, Penn State, Lehigh, Bucknell
Safety: UMass (for engineering, with his stats), RIT, WPI, maybe a non-region like U of Michigan that has a strong engineering program. I’m not very good with picking safety schools
Good luck!