Hello Daniel,
Such a behavior can only occur if option on creating and editing objects is enabled for SAM Account Name in your property pattern settings.
In this case, when the related properties are updated, the SAM Account Name one is also considered as updated even when the new value is the same as the old one. The behavior is by design and cannot be changed. To achieve the desired, add the following script as condition (If PowerShell script returns true) to your business rule.
$sAMAccountName = $Context.TargetObject.Get("sAMAccountName")
$Context.ConditionIsMet = $sAMAccountName -ne "%sAMAccountName%"