The fly ball that was dropped is an error and the advance of the those two or three runners is E8, E8 and probably SACF to their respective bases. Keep in mind when scoring we are scoring the movement to each base by each runner. This is the first scorekeeper's judgement call and it is important to the centerfielder's fielding percentage. I would assume that the runner on first went half way and the runner on second went half way and then they ran to the next base once the ball was dropped. I would also assume that the runner on third stayed at the base waiting for the touch and then ran home once the ball touched the glove. If the runners on first and second stayed on base until the ball touched the glove of the center fielder, I would not score their advance as E8 but rather as a tag up.
The hitter probably gets credit for a sac fly but we don't know where the runners are and if they played the tag up correctly. If the outfielder simply dropped it, picked it up and made a play home on a runner going from third to home and that would have been pretty much the same play if the outfielder caught the ball, it's a sac fly. But the fly had to be deep enough to get the runners home if it were caught.
Reconstruction of the inning at this point is the tough call. The pitcher always gets the benefit of the doubt. I would leave those three runners on the same bases in my reconstruction. Some scorekeepers might argue they should all advance one base in reconstruction.
For the sake of discussion, I'll assume every runner advanced two bases on the deep fly and all of those three runners earned their original base to begin with.
So when the new batter is up we have runners on second (unearned) and third (earned) base. The runner on second did not earn his base because he reached on an error.
If the single that scores these two runners would have scored two runners with bases loaded, they are both earned in my book. But this is another judgement call. In this current situation, there is no force on first and in the reconstructed situation I favor, we had bases loaded. So the scorekeeper must decide if the single was good enough to score two runs with bases loaded. If it was a double play ball that would have made two outs before the run(s) scored, then one or both would not be earned.
But to answer your question, probably two runs are earned because if the single drove in two runs with two on, it probably would have driven in two runs with three on.