I would suggest you to surround your platform-specific code with preprocessor directives
#if UNITY_STANDALONE
// mouse logic
#else
// touch logic
#endif
test if that solve the issue.
You can also:
Check corresponding Touch.phase
value to prevent multiple fire.
Instead of Animator.SetBool
consider using Animator.SetTrigger
- you should configure it properly in the Animator View
.
In the Animation View
you can add events to be fired in a frame. Add one in the last frame that will destroy the object. This is the approach I commonly take.