an earlier transaction can cause transactions after it to be re-executed if and only if the transactions after it read from the same memory that the earlier transaction is trying to write to.
You have quoted the reason already, and we need re-validation to check that the transactions after it still reads the same view.