Great Progress!
Your problem is the code that drives the relay module inputs. Your Arduino 101 has 5V tolerant I/Os. That means they can safely be connected to a 5V level logic '1' or a pullup to the 5V rail when they are inputs. However, when they are outputs, they either drive to 0V for logic '0' or to 3.3V for logic '1'. When driving to 3.3V, there is still 1.7V across the LED and its series resistor, enough to turn it on and weakly drive the ULN2803A input.
You must be using something like:
//in setup() ....
digitalWrite(RELAY1,HIGH); // Start with relay 1 off
pinMode(RELAY1,OUTPUT); // Output pin to control relay 1
// ...
// in loop() ...
digitalWrite(RELAY1,LOW); // turn relay 1 on
delay(1000);
digitalWrite(RELAY1,HIGH); // turn relay 1 off
Instead, try:
//in setup() ....
pinMode(RELAY1,INPUT); // fake open drain output to control relay 1
// As you didn't set it to INPUT_PULLUP, the output buffer is preloaded with '0'
// ...
// in loop() ...
pinMode(RELAY1,OUTPUT); // turn relay 1 on (output preloaded to '0')
delay(1000);
pinMODE(RELAY1,INPUT); // turn relay 1 off
You shouldn't need external pullups to get the opto LEDs to turn off cleanly. If you do use them, its one per pin and you shouldn't go below 10K, as each resistor has 1.7V across it and dumps current into the Arduino's 3.3V rail if the pin is an output set to logic '1', and if the Arduino 101 cant use all the current dumped into the 3.3V rail, the rail voltage will rise and may destroy the Arduino 101.
To convert your relay board to fully isolated optos, you'd need to make five track cuts and solder four patch wires to the cut tracks. Get me a good closeup of the optocoupler end of the board from directly above, lit from multiple sources above so there are no shadows, and I'll mark them for you. I've already worked them out on the board layout, but I need to consider access to make the track cuts and solder the patch wires. You'd need an Xacto knife or similar to make the cuts and scrape away soldermask, a fiberglass abrasive pencil brush to clean the tracks you need to solder to, thin solid core wire with insulaton tat doesn't burn back easily when you solder it - idealy Kynar inulated wirewrap wire, but magnet wire + a piece of very small bore sleeving for the longer run could also work.
The other mod you could do, would be to simply desolder and remove all the optos and jumper pins 2 to 3 of each opto footprint to bypass them so the ULN2803A chips are directly driven by the input connector. A ULN2803A only needs 3.0V to turn on reliably, so the result would be compatible with both 3.3V and 5V logic. An alternative slightly uglier way to get the same result would be to remove the optos' LED feed resistor modules PR1,PR2,PR$ & PR7 to disable the optos then patch across each opto fom pin 2 to 3 as previously described.
P.S Sorry about helping the thread go off into the long grass - topic drift is a perennial problem on Fora and USENET - almost a tradition. If you don't want it to happen as much you need to update frequently to corral off-topic debate and drag it back towards the issues you are actually interested in OTOH sometimes the O.T. stuff delivers real gems you wouldn't have thought of yourself.