I am looking at similar questions, but you are correct, there should be a way to string content across modules so long as the variables are consistent. I found a few articles that may set you down a path, but not a clear solution:
Method for importing variables using JSON: https://www.jrdesign.com.au/captivate-importing-json/
Method for repeating variables across projects using shared actions: http://blog.lilybiri.com/rare-tips-for-shared-actions
You can also create a multi-SCORM package that may share variables, but I haven't tested it. There is apparently a way to string Captivate projects according to this course, but they may mean pulling together multiple captivate projects into a single file: https://www.easelsolutions.com/courses/captivate-advanced
I think you are in for a lot of creative coding if you want to go down this route, but for ease, you may just make the course a single experience with a branching UI developed within Captivate that navigates to each modules and tracks completion of each.
Hope that helps!