How does one seamlessly loop an animation containing a Noise modifier?
To loop a noise-based animation
One approach, I can't guarantee it's the snappiest, but it has some advantages.
You could use the NLA editor, to make an action loopable, in much the same way as you would make an image tileable  in an image editing application. For an image, you might split it down the middle, swap left and right halves, and blend across the discontinuities at the center. Same here.
Here's a noise-based animation, 100 frames, which doesn't loop.


In the Graph Editor, take the curves with noise modifiers, and convert them to actual keyframes, by using Header menu  &gt; Key &gt; Sample Keyframes



Switch to a Dopesheet &gt; Action Editor window, and crack open an NLA window below it. An action should automatically have been created, which you can Push Down to the NLA editor, as a working strip.



In the NLA editor, you can ShiftA add a track. Put the cursor halfway down your strip, select it, and Right-Click menu, or Y, split the strip under the cursor.

Now you can select the halves of the strip separately, drag one of them to the spare track, and swap the halves, so the cuts are against the ends of the animation. You will have to shorten the overall length, so there's an overlap between the strips:




To get the automatic mixing in the overlap between the strips you will have to set the Auto Blend in the NLA's N panel:


This example produced a looping 86-frame animation:

.. Which can be baked into an action in its own right by using 3D View &gt; Header &gt; Object &gt; Animation &gt; Bake Action. You can reuse and adjust the loopable noise action with other objects, so long as the same properties are being animated, or even cut and paste the keyframes between channels of different types.