I believe it's because using the iterate type causes Workfront to evaluate each task separately, and not as a whole. So really what Workfront is doing is pulling the first task, checking it, evaluation yes or no, adding N/A (or not) to the resultant string, and then checking the next task, and so on until it finishes all of the tasks. Probably the easiest thing I would say to do, if your stakeholders are ok with it, is flipping the logic around. That would cause Workfront to leave a blank if it's not present, and "Yes" (or whatever you wanted) if it was there.