What exactly is going on here with the data rate? Is it just the strength of the signal that is falling off as distance increases? If so, how does that reduce the data rates that can be used? If not, what limits the data rates?

The farther away a source is, the weaker its signal, and the longer one needs to listen to determine whether a 1 or 0 is sent, so the slower the data rate has to be.

This is a statistical sampling effect. The further the signal is below the noise floor, the longer you must integrate to raise the signal or lower the noise. Integration time is a square law. To change the Signal to noise ratio by a factor of two takes four times longer. This is compounded by the range inverse square law.