When and why should I reset session in a connection pool?
Always set pool_reset_session to True, unless you have a specific and strong reason not to. I cannot think of a reason not to reset the session when returning a connection to the pool.
The risk of not resetting a session is that data associated with your session will be leaked into other sessions. Say for example you are doing a banking transaction on a website that serves multiple concurrent users. Part of the code saves some data about your transaction to a temporary table. Then the code returns that MySQL connection to the connection pool, where it is handed off to some other user's banking interaction. Their session can now see some details about your banking! The same applies to other session state, like user variables, or last_insert_id.
If you need to keep using session state, like reading temp tables several times, then your code should not return that connection to the pool until it is done with that temp table.