The aggregate report seems to be generating the correct results.
Suppose, you run the test for single user [say user1] instead of 80 and for 'Loop Count' set to 1 (instead of forever) even then the single user will increase the samples count to (1*320*4 = 1,280) and in your case you are executing the test for 80 users so it is expected that the samples count can reach to #102,400 (80*4*320) if all 80 users executed the scenario at least once.
I am in a software qa company & working on JMeter for quite long time and would recommend a couple of things that can help you to organize your script in a better way which can further help to easily understand your results:
- When you have multiple child samplers for any request [say login request] then its good to keep all the child samplers related to that request in a single 'Transaction Controller' element and check 'Generate parent sample' checkbox.
- Give unique name to the samplers to identify them easily during failures & also you will see unique samplers name in JMeter report
- Clear the previous test results [or listeners] before starting a new test otherwise your new test result gets appended to the last test results