First off, I want to address the fundamental issue of how you are using "VISIT" segments.
A segment like:
VISIT [
clause 1
AND
clause 2
AND
clause 3
etc....
]
Will return ALL page views, from all visits that have those clauses anywhere in the visit, but not necessarily on the same hit....
Clause 1 could match on the first hit, and Clause 2 could match the second, etc... This means you are looking at a combination of items that are beyond the page your are trying to target.
Also, for your purposes, I would actually use a HIT based segment, and pair that segment with Visits. This way your segment criteria will look at all the clauses on the same hit.
You could also add a HIT based container inside your Visit segment to constrain the logic to your needs, but for what you are doing you don't seem to need to make things that complex.
Next, when you break down by Segments in your freeform table (first image, table 2), the Visits are no longer de-duplicated... therefore Visits that match multiple segments will both show on the Segment Row, and be counted multiple times in your total. This is where the difference is coming from... table 2 is inflated.
Note, your visit can have multiple Marketing Channels, and since your segment isn't being limited to the specific page and Channel, you are getting more data than expected.
Also, since Marketing Channels have a default 30 day attribution, if you are trying to identify the specific "entry" from the Marketing Channel, you should be looking at the Instance of the Channel and not just the value.
Here is an example:
