If all tracks play the same sound, usually that means all tracks are either:
1. On the same MIDI Channel so sending to the same patch
2.On tracks that do not have a patch change message to tell the synth which sound to play
3. On tracks not routed to the expected sound source with the expected patch
MIDI can be complicated, but if we know you have at least a basic understanding of how it works we can avoid making simple suggestions you already know, and drill down into the root problem faster.
For example, you stated
even though I have separate instruments on each track, I get the same instrument on all tracks
How do you have 'separate instruments on each track', and exactly what synth are they sending that data to?
Knowing if it is a hardware or software synth would be a great starting point