I looked at the relay board schematic (downloaded the .rar file). The bottom line is I wouldn't recommend ever buying another one of those and give them 1-star rating.
Basically you are having to drive an opto coupler LED with the analog outputs. The "low level inputs" require 15 mA to 20 mA to drive them. This really could cause a substantial ground bounce on the Bela board when you switch them simultaneously.
What I see is a big ground loop with up to ~100mA trying to get from your DAC ground pin back to the relay board when all DAC's are simultaneously trying to pull down on the relay board inputs.
I haven't taken time to look at the DAC datasheet but I would guess 20 mA sink current is pushing the limits already.
This could look like a big transient spike ground bounce on your Bela board, which could couple into something in the CPU and make it crash. It might be upsetting I2C operation and maybe your program crashes because the I2C bus gets put into an illegal state.
You would be best served to drive these each with a MOSFET, like a 2N7002, populated directly on the relay board. Put a 10k resistor in series with the MOSFET gate to decouple the driver signal from gate capacitance since this can also cause transient currents.
It would look something like this:
|-----IN1 on relay board
|
|--
--/\/\/------||<- 2N7002 or similar small-signal switching MOSFET
| 10k |--|
| |
| GND (at relay board)
|
|----Bela DAC 1 output, or GPIO (2N7002 gate is compatible with 3.3V output level)
Note: The switching function will be inverted
The recommended configuration keeps the LED drive loop currents localized to the relay board and very little current is required from the Bela DAC or digital output to toggle the state.
The way they designed that board serves as a good example of how NOT to do it.
The use of the industry's top quality optocoupler isolation, strong anti-interference ability, stable performance
Makes me laugh.
The optocoupler isn't actually isolating anything because they are bridging the isolation boundary through the 5V converter on the board. It's just serving as a really inefficient transistor. Even worse, by routing the 5V out to a pin suggests you should connect 5V there to operate the board -- and now you have (2) different 5V converters fighting each other if you actually do this.
You're still ok for isolation because it's the relay that isolates your circuit from the high energy power stuff. It's just that all of the circuitry on their board could be replaced with the circuit snippet I showed above with a catch diode for each relay coil -- they would have saved a ton of cost per board AND it would have been a better product.
If they wanted your circuit to be isolated from the 12V supply then they should have given you both ends of the opto-isolator LED without connecting 1 side to the 5V bucked from the 12V.
Actually you can do this with an Xacto knife. It looks from the board layout there is a clear distinction and a nice open run of 5V trace that you can carve off the board and then you will have 100% isolation from the 12V converter. In that case you would not use the ground at all -- Just 5V from your board and the Bela analog outputs.
If you're not handy with a soldering iron and you just want to live with it, there are some things you can do to possibly work around this problem:
1) If it's due to ground-bounce on fast changing edges, then you can help mitigate it by slewing the analog outputs more slowly. Ramp the analog outputs on and off more gradually over a longer period of time -- like use more than 10 steps to transition the edges. This will work if the problem is due to the fast edge current pulse from trying to switch several from high-to-low all at the same time.
#2) Reduce total currents. Finally you can play with the logic thresholds of the buffer IC. You probably don't need the full 15 mA to get it to change state, so you can set a lower-limit on your analog outputs so you are driving just barely low enough to get the relay to change state, then come up with some kind of margin around that so you aren't skipping
3) Pulse the outputs in a pattern where only 2 or 3 can be sinking current simultaneously. In this relay board you linked, pulling low (toward analog 0V) is when it's conducting current, so the variable you want to play with is how low it can go.