Three suggestions:
Islamorada Shrimp Shack (fka Squid Row). This is the single best restaurant in the Keys rivaled only by the Fish House. It isn't on the water but it is worth it if you ask me. Don't be turned off by the fact that Guy Fieri featured it. They were open under the Squid Row name 10 years before that and were killing it.
Lazy Days. This is pretty good and is on the water (facing east) right next to Bud N Mary's marina. They will cook your catch if you happen to have fished that day. They do very well.
Island Fish Company. This is in Marathon, not to be confused with the Fish Company in Islamorada that has become a tourist trap because of the World Wide Sportsman next to it. This is on the water facing west so sunsets are good. Never had anything bad there.
Source: lived on and off between Marathon and Islamorada for 6ish years and go back every summer.