My solution would start with a global variable that increases by one with each use of the macro. Then use modulo (remainder) division by the length of the list to get a number from zero to one less than the length of the list. Unless this result is zero, use it as the list index. If the result is zero, use the length of the list as the list index.
Update: Silly me. I forgot to mention that you have to start by setting the global variable, ContinuousListIndex in my example, to 1. You do that in the Variables tab of Keyboard Maestro's Preferences.
There are several ways to approach your objective. Here's one that I think is relatively easy to understand.
DOWNLOAD Macro File: Repeat List.kmmacros (4.6 KB) Note: This macro was uploaded in a DISABLED state. It must be ENABLED before it can be run. If it does not trigger, the macro group might also need to be ENABLED.