@Gubbi Simplest method would be to create a separate ListFile-->FetchFile-->PutS3 flow. However you should be able to grab everything with the same ListFile processor. For a single flow you would add updateAttribute to set path you want to use in PutS3. For example if you see "demo" in the source of the original file, set path to append "demo\". If not, leave it as " \aws\data\". You could also use a RouteOnAttribute to send each data type to different PutS3.
If I was doing this myself I might start initially with separate flows which I clearly know are operating as expected. Then I would start on a third dynamic single flow that achieves the results of both.