Read the sticky article on getting Hazel to go into subfolders. As far as only one being added to Calibre, it might because Hazel is sending them too quickly for Calibre. You may need to add a pause so that Calibre can keep up. One way to do that is to use the shellscript action with the following script:
sleep X
where X is the number of seconds to pause. Lastly, to delete the subfolders, you can then create a rule to match empty subfolders and move them to the trash.