I met the same question.Here is my solution:
You could put only one iterate function in Model , but you could get .shp(s) form different folders.
"P" means set the address as a Model Parameter.
In my case :
First, create three parameter as the folder address.
Second, execute the Iterate and functions.
Finally, set the out put folder. e.g. %Output_Folder%\%Name%.shp