Personally, I would throw in some Python code to do this, but I guess you could do this with DDPs.
You could dissolve your species to create a single multipart feature per specie.
To define the page size, you should in Layout mode, right click on the border outside your dataframe but still on the page and select Page and Print Setup:
Then, define the custom paper size in case your printer driver does not have A7:
To maintain the same extent, setup the DDP like this.
... and since you will only show 1 species per page, you may want to make the legend dynamic: