why is ground needed to be common in i2c communication?
You don't have a circuit without two connections, and for I2C, one of those connections is ground. 

It's possible to galvanically isolate I2C with a bit of circuitry: 



If you build the above circuit (for SDA and another for SCL) you don't need to connect the grounds. 

Having the grounds common provides an enabling factor for disaster but does not really invite it with open arms. If you had long wires and a lot of noise there might be more justification.