That's a pretty awesome query.
Maybe this will help (it's how I picture it). All the JOIN...ON... stuff builds up a result set of every combination of rows from all the tables that satisfy the various ON conditions.
Once you have that result set, you apply one last filter to pick out the rows you want; that's the WHERE clause.
So if your query is returning some rows satisfying the condition you posted (....Organisms.common_name...) you can add that to the WHERE clause and it should give the rows you want. But if the result set without that added condition doesn't return the rows you want (possibly along with many others), you'll obviously end up with no rows selected.
So the first question is: Without the additional condition, are the rows you want somewhere in the result?