How to make this animated texture seamless from a 2D perspective
Tiling 4D Noise in 2D
Since Blender has given us 4D procedural noise textures, it's been possible to tile them without distortion in 2D.
We can map the given 2D X and Y onto two orthogonal circles in 4-space. As we loop around them, we return to where we started. (It's possible to map the plane onto a 3D torus in the texture's 3 space, but distortions result: the major and minor radii of the torus are either different, giving uneven scaling, or the same, resulting in poles, like mapping onto a sphere. This way, though, leaves the circles entirely independent - it's mapping onto the surface of a Clifford torus, although .. er  .. I'm not sure it helps to know that.)
Tiling in Space
X and Y map to XYZW as shown below.. (the XYZW order doesn't actually matter, any old circles will do). The little division into 2*pi is just to get the tiling period to be logical in Blender units

Looping in Time
You can get the noise to loop in time by getting the centers of the circles we created before to go around another circle themselves, taking care not just to do it in X and Y, otherwise the texture would just go round and round in the tile:

Time Period is the repeat interval, Time Amplitude is the amount of shift per frame, and Time is the input that would be driven by some function of the frame number. The result is added to the previously generated XYZW.
With another node to scale the texture in the tiles, this is the tree:

An example of the result, tiled in space and time:

A node group with the described interface is included in the .blend: