Кроме изменения адреса или тайминга scl уже можно ничего не трогать.
Ничего это не значит. И ничего вы не добились.
Элементарно может быть, что SCL вы сделали в режиме push-pull вместо open-drain. И без ожидания отпускания SCL ведомым. И из-за этого EEPROM у вас и не работает. Так как хочет сделать "clock stretching", а вы ему не даёте.
А другому I2C-слэйву (тот же "дисплей на I2C") "clock stretching" и не нужен. Потому и работает.
Это как одна из возможных 100500 причин.
Не разобравшись - в чём именно проблема, завтра опять наступите на те же грабли. И опять EEPROM будет виновата....