It is correct. They are considering the most extreme case; in the most extreme case, no non-botulism-infected infants eat honey, and honey was the cause of botulism for those 20 infants.
If that is so, then completely removing honey exposure for infants would mean that 80 rather than 100 infants get botulism poisoning.
So the new probability of contracting botulism is (80 / 100) * (old probability), and (80 / 100) * (1 / 40000) = 1 / 50000.
There are no errors in the calculation, but it's wrong anyways because it calculates the answer to the wrong question. "At best" suggests this is the largest possible effect, but it is the smallest possible. To get an upper bound estimate on the usefulness of avoiding honey, you would need to know how many parents of 1-year-olds are avoiding honey.
If that is so, then completely removing honey exposure for infants would mean that 80 rather than 100 infants get botulism poisoning.
So the new probability of contracting botulism is (80 / 100) * (old probability), and (80 / 100) * (1 / 40000) = 1 / 50000.