“US and Canadian Citizen”
“GPA: 3.97”
“can afford up to about 40k net without loans”
Anything in Canada will be very likely for admissions with a 3.97 GPA. Anything in Canada will cost a lot less than US$40,000 per year with Canadian citizenship. With a similar situation (dual citizenship, high GPA, live in the US) we have been paying closer to half this at a small university in Canada.
Also be aware that some Canadian schools might miss the fact that you are a Canadian citizen, and along with your acceptance send you information on how to apply for a visa and on cost for international students. If this happens a quick call to admissions along with a fax of your Canadian passport or Certificate of Canadian Citizenship will fix this quite quickly and easily.
“Prefer smaller schools”
You should also look at Mount Allison and Acadia, both of which are in eastern Canada. You might also want to consider Bishops and St Francis Xavier. (by the way, I think that CC automatically puts in the wrong link for St Francis Xavier).
Acadia is very good for environmental sciences. Note that this is a different program from environmental studies at Acadia (as it should be).
I have not looked at Math or Physics at any of these schools.
Your most economical choices are likely to be either in-state public universities in New York, or any university in Canada.