I2c multiple devices not recognized

You have tested a lot !

You are right, a analog input is used for random here.
The manufacturer numbers are read here, but that is not used, or used somewhere else.

These were more or less the same questions:

When you press the reset button one by one, does that work 100% of the time ?
Then the library can deal with 10 Nano boards, and it is the initialization that is going wrong. That means I have to take a look at the Slave code.

Can you do a few tests with this code: https://github.com/ricaun/DuinoCoinI2C/blob/main/DuinoCoin_Arduino_Slave/DuinoCoin_Arduino_Slave.ino

When a Nano is not powered up, then it will keep SDA and SCL low and the I2C bus will not work, and other Nano boards can do nothing with the I2C bus. The Arduino Nano runs the setup() function microseconds after powering up. If I imagine 10 Nano boards acting that way, then I see a big bowl of soup with problems.
The reset button restarts the Arduino while the I2C bus is still valid to be used by others.

Add a delay in setup(). Start with 5 seconds. You could set every Nano board to a different delay. If that works, than you can lower it to 1 second plus some random.

void setup() {
  Serial.begin(115200);

  // If they all powered on together, then don't start using the I2C bus immediate,
  // since some boards are not yet powered up.
  delay( 5000);

  DuinoCoin_setup();
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, LOW);
}

I have been looking at that library for some time now. There are a few weird things, but to investigate how everything works together is too much work. If you can not find the problem in a easy way, you might have to look for other (simpler, easier) code.