I'd suggest that you use two or more DM[] locations for each stepper channel.
As an example use:
DM[1] for control for stepper #1
DM[2] for position for stepper #1
DM[3] for control for stepper #2
DM[4] for position for stepper #2
.
.
.
DM[13] for control for stepper #7
DM[14] for position for stepper #7
The master Plc updates the position info DM[2], first, then writes a non-zero command to the control register, DM[1].
The slave Plc detects the non-zero value and executes the appropriate stepper command. When the command completes, the slave Plc clears the control value (sets it to 0).
The master Plc polls the control register in the slave Plc and must not change values until it "sees" that the slave is ready to accept the next command for that stepper channel.
You will need to use modbus commands to read and write to slave Plc DM registers.
Gary d