@teastain Thank you for your comment Terry!
I initially had all variables and, unfortunately, it did not work either.
Wire.begin(0, 26) is necessary because I'm using Hat that connects to GPIO pins not Grove port. Wire.begin start I2C communications using the Grove port by default not G0 and 26 on the Hat connecter side.
When I checked I2C addresses with I2C_Tester example, With Wire.begin(), it listed only three internal devices. With Wire.begin(0, 26), it listed three additional devices in ENV III Hat including BMM150 at 0x10.
Btw, sht3x has Wire.begin() in its constructer. So, it's better not to have the sht3x instance if not necessary. It could lead to confusing results.