I found sort of a workaround in GoodTask. To get a list that you can duplicate:
- Add a quick action to toggle the "#Template" tag
- Create a regular list (call it "Template List") and add your tasks to it. Give them all the "#Template" tag.
- Create a smart list that contains tasks in "Template List", and add a filter to exclude tag "#Template"
- Add a quick action to toggle the "#Template" tag
Now, whenever you want to create a new copy of "Template List", open "Template List" and tap the three-dots menu and tap "bulk actions", then select all and perform the "Duplicate" quick action followed by the "#Template" quick action. The smart list will become populated with the copied tasks.