The I2C bus is wired with 1 KoHM resistors.
That's to weak even for an UNO. Use at least 2k2.
no same string of devices, works without any issues. On Mega does not.
The Mega has built-in pull-up resistors. Using 1k pull-ups in parallel make the total pull-up even smaller and the current to sink to high (out of spec).
any idea why it shows many devices on bus while there are just 4.
Maybe you already fried one of the devices and it just runs bad now?
What devices do you have on the bus?