It's actually quite common that various orders are given with dative, and we say tibi impera or sibi temperabant.
Latin usually does not use an accusative object in these cases.
One way to think about it is that orders or constraints are given to someone and hence expressed with dative.
You are right that ipso can't refer to comitum; it would have to be ipsorum.
Instead, it refers to sanguine.
When something doesn't make sense, look for other words that might go together with what puzzles you!
It's quite useful to carefully go through all the words (even implicit ones in some cases) and see what your pronoun or adjective or something can refer to.
Using ipso puts emphasis on the blood instead of the comrades, making the water "red with the very blood of their comrades".
Most importantly, there is no unique correct answer to a translation task like this.
There are multiple choices you can make.
You could use ipsorum instead of ipso or leave the whole word out.
You could use sui instead of cuius milites.
You could rush into the water with another verb.
The answer key gives you an example translation, not the translation.
If you are in doubt, you can ask questions with the original English sentence, your translation and the textbook's translation side by side and ask us to evaluate your translation.
It might turn out that your translation is perfectly valid although very different from the suggested answer, or it might turn out that you are mistaken about something.
If you ask such questions here, please elaborate on what you are worried about as you did here.