The internal energy, or more correctly kinetic energy, of the individual gas molecules is not the same.
For an ideal gas, the internal energy is the sum of the kinetic energies of the individual gas molecules. The individual kinetic energies of the molecules are not the same because their velocities are not the same. For an ideal gas the velocities follow the Maxwell-Boltzmann distribution.
Rather than thinking about internal energy “flow”, which could be confused with the movement of a fluid, think about it as energy transfer in the form of heat and/or work. For an adiabatic process the only means of transfer is work.
When the collisions of the molecules against the piston cause it to move, the molecules are collectively doing $pdV$ work causing the molecules to slow down giving up kinetic energy. That reduces the internal energy of the gas as a whole.
So yes the internal energy is used to push the piston.
Again, may I ask, how is it assured that the gas will expand till it
reached T2, how will it know that it's temperature has matched that of
the temperature outside the system? Is it that, once the force matches
that of the surrounding matches it, it will stop? Or how?
The gas doesn't "know" anything. The idea is to gradually reduce the external pressure allowing the gas to slowly expand adiabatically while monitoring the gas temperature (e.g., with a thermometer) until the gas temperature reaches the temperature of the low temperature reservoir and then stop reducing the pressure. Then you follow that process with the reversible isothermal compression rejecting heat to the low temperature reservoir.
Hope this helps.