NERM - Automated workflow continously updating

Hello Folks

I have a requirement to automatically update the status (Active/Inactive) based on the non-employee start date, and I have implemented the following 2 workflows.

Logic 1:
If the user’s start date is in the past, set the status to “Active.”
screenshot of the filters

Logic 2: When user has end date < today -set status =“Inactive”

After workflow configuration, I observed that the workflow continuously updates the same status repeatedly, even though there is no change in the filter criteria.

I need the workflow to trigger only when the start date or end date changes.

Thank you in advance for your time to read my post.