As lionz said, you're checking whether your enemy is either left or right of a very specific coordinate (the player's X). Your enemy will still move even when they're overlapping, because you've told them to keep moving at all times, either left or right
If you want enemies to do nothing when they're overlapping, you have to change when you tell them to stop moving.
Try using the edges of the player's sprite instead of X. You can use the BBox property (bounding box) instead. And add an else statement to make it a little neater.
If Enemy.X is greater than Char.BBoxRight
...Enemy simulate moving left
Else
If Enemy.X is less than Char.BBoxLeft
...Enemy simulate moving right