When I use widget for voice search and say 'weather' I get the results, but it is shown in Fahrenheit, even though,in settings it is chosen to show in Celsius.
This problem apparently is due to the device language selection.
If English (US) is chosen, Google defaults to temperature units used in US (Fahrenheit)
This is remedied by switching over to English (UK), where temperature units are in Celsius
The other answer on this question didn't work for me. My phone was already on English (UK) and changing it to US and back did not help.
Instead what fixed it for me was:
If you use Android, just ask Google Assistant to change it from F to C permanently. It works for me. Google Assistant will say "I will remember your preference".
tap on you home home scree and go to select widgets.. under goolge select the at a glance widget and drag it to your desktop.. for me this changed the unit from F to C instantly...