I don't think so.
The 20k...50k will be no problem.
The 4k7 is the right value, it should work.
Perhaps you have a few breakout boards with pull-up resistors on every breakout board, the total pull-up could be below 1k. That would be too low.
Perhaps you have long wires, say more than 50cm, and they are close to each other, that could be a problem.
Perhaps the decoupling is not good. The I2C device should have 100nF for the supply voltage.
Perhaps you use a breadboard. They don't make good contact a lot of times.
The I2C lines drive only one module. They are individual wires about 15 cm long each. They connect the UNO's A4 and A5 pins to the module. The module has both 4.7uf and 0.01 uf caps from the power supply to ground. Power is supplied from the UNO board.
I DO use a solderless breadboard. I suppose I could move the connections along the board, and I'll do that.
I have talked to several others about this problem, but they seem unable to tell me HOW to find the trouble, and so they drop off the thread.
I thought the problem might be the actual data values being sent, but the tests do not fail consistently. Its a very peculiar problem.
I have a scope and DMMs and can do some soldering.