They could just be individual strips of hearts in a pre-composition moving around. There may not even be a reason to even use Motion Tile. Sure, Motion Tile could be used as well, but even then you still need to create separate strips in soem fashion, which I think is your misunderstanding here. You can't just slap on one instance of Motion Tile and create the whole grid. You have to put in more effort and work. Outside that there's really not more to it than any basic Motion Tile/ looping motion tutorial will teach you - create a square pre-composition with the heart, animate whatever it is supposed to do, add it to the main comp and repeat it with Motion Tile.
The trick I use to create this kind of animation is to build a very short comp that is just long enough for the graphics to move to the first place where they line up. In your sample video, it takes about two and a half seconds for a hart to move vertically from one horizontal line to another. I would create a comp that was two and a half seconds long, then animate a shape layer heart, then use a repeater to build a column of hearts, then add a second repeater to repeat the columns. I would leave a space for the column that would move in the opposite direction, then I would duplicate the column, offset it, and repeat the process. I could then animate each group so they move up and down until the positions overlap. I would then nest that short comp in a longer one, add time remapping, set a new time remapping keyframe on the last visible frame of the nested comp, delete the original last time remapping keyframe, and add a simple loopOut() expression to time remapping. As long as the first and last frames are identical, you'll get a seamless looping animation with two columns of graphics moving in opposite directions.
You can do the same thing by cutting up any layer with masks. Just find a repeating pattern. Motion tile quickly uses up resources, and you need two copies, but the same idea applies. Don't try and create the entire column, just find a spot where you have 2 identical frames and loop that in another comp using Time Remapping.
I made this sample comp in about 5 minutes. Maybe that will give you some ideas.
Thank you so much, sir! This was really helpful. Thank you for the project file as well.