Because, you’re changing the value within touched events. Touched events are unreliable and will detect touch really quickly.
Highly recommend instead of using touched events, you look into this ZonePlus2 module, by ForeverHD. Pretty sure it utilises regions. Also, the resource shows an example of a use-case identical to yours (giving & removing tools when entering/ exiting).