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: