1. They move only 2 meters an hour.

2. They move only for 2 meters an hour.
3. They move for only 2 meters an hour.

(Are all grammatical?)

#1 is referring to speed or distance per hour.

#s 2 and 3 seem to be referring to how many hours (a day?) " they" move around or are active.

Yes, all three sentences are grammatically correct. However, they convey slightly different meanings:

1. "They move only 2 meters an hour."
This sentence emphasizes that the distance covered by "they" is only 2 meters within an hour. It implies that the rate of movement is slow.

2. "They move only for 2 meters an hour."
This sentence suggests that the duration of their movement is limited to 2 meters within an hour. It implies that they stop moving after covering a distance of 2 meters.

3. "They move for only 2 meters an hour."
This sentence emphasizes that the distance covered by "they" during the duration of one hour is solely 2 meters. It implies that they do not cover a longer distance within an hour.

The differences may be subtle, but they change the focus and emphasis of each sentence.