Looking at the screenshot , when two fields are updating to 'Yes' in one go , both the conditions are resulting to true at the same time and the update action used after Send email action might conflicts due to which , when flow is running again after first email and before the second email , it is sending another email.
Try to use Switch condition instead of simple Condition you have used , where you write thirdUse below condition first in addition to above 2 conditions.
The condition will be -
Mail to be sent to Maths == 'Yes' and Mail to be sent to Science == 'Yes' and IsmailsentMaths == 'No' and IsmailsentSci == 'No'
By this, the flow will perform action for this third condition only and will not go to the two individual conditions for Maths and Science at the same time.
Refer this for how to use Switch inImplement Flow. as shown below -