If you are storing in a flow context var then they should be seperate and not overwrite each other. Something else must be going on, maybe some JS object stored by reference issue.
Show us a minimal subflow that is showing the issue.
as this subflow works fine
[{"id":"d3651136368045cd","type":"subflow","name":"Subflow 1","info":"","category":"","in":[{"x":50,"y":30,"wires":[{"id":"a83559df57f283f8"}]}],"out":[{"x":160,"y":30,"wires":[{"id":"a83559df57f283f8","port":0}]}],"env":[],"meta":{},"color":"#DDAA99"},{"id":"a83559df57f283f8","type":"function","z":"d3651136368045cd","name":"function 158","func":"node.send({payload:flow.get(\"test\")})\nflow.set(\"test\",msg.payload)\nmsg.payload = flow.get(\"test\")\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":350,"y":140,"wires":[[]]},{"id":"525c4676dbd2b99f","type":"subflow:d3651136368045cd","z":"0df28c03098e1a7f","name":"","env":[{"name":"prefix","value":"one","type":"str"}],"x":480,"y":660,"wires":[["1805d407ec75ef75"]]}]