Reasons that your line count will not match the count on the system:
If you close the window that sieving is running in and then restart it (having not properly closed the program), you'll duplicate a minute or two worth of sieving. We remove duplicate factors so the counts can be compared to one another. Occasionally an entire sieving run will be repeated, but you'd have to delete the checkpoint file and restart the run for that to happen.
The sieving program gives us all factors up to b=2G (2000M). That's free because of how the algorithm works. A previous version of the sieving program stopped at b=100M but it was still computing all those other factors and just not outputting them. In your file you're seeing all the factors over the full b=1-2G range.
We're working with sieve files. The sieves for GFN15 and GFN16 go to b=400M, while the others go to b=100M. The statistics show only those factors that apply to the sieve file. So on GFN22 you're gong to see a count that's one twentieth (100M/2000M) of what you generated.
Finally, there are two columns of interest in the sieve stats. The red/pink columns show the factors found in the sieve file range. That corresponds to your factor file. The pale yellow columns show removals from the sieve. It's much faster for the GFN sieving program to return all factors and not worry about whether those candidates were already removed by prior sieving. When talking about sieving efficiency and the optimal sieving level, only removals count. Additionally, removals for candidates we've already tested with genefer are not much use. The stats page does not "know" about testing levels, but my optimal sieving spreadsheet does. Having the stats show only sieving that applies to the current sieve file is essential for me to calculate optimal sieving rates.