Yes the line~ object constantly updates the playback position – it is a "natural" companion to play~ for linear sound playback.
Some of your buffers shared the same name so it could lead to problems. Also, the arguments of the sprintf object should match the buffer’s names. If your buffer are named "audio1", "audio2", etc then the sprintf should be like this: "sprintf set audio%i". If you use a polybuffer~ named "audio" change the sprintf like this "sprintf set audio.%i" (notice the tiny difference). Note that the polybuffer~’s name does not have to include a dot but the dot must be used as a separator between polybuffer~’s name and the buffer number when you want to choose a specific buffer using an argument or a message to a playback object.
I don’t have a folder with 60 files of 6 minutes so I couldn’t test. So I added a few objects and messages to help you track possible bugs.