Having to create two identical instances when using I2C hub

In setup() you create an additional local instance that is destroyed on exit of setup(). Remove that creation from setup() and try again.

If you definitely want 2 instances then declare both globally, before setup(), and give them unique names.