I write applications for phones (occasionally) and when we're developing a game the only difference between the two is how long you want the user to hold the button down.
Touch doesn't have a time constraint, so if you want the user to just push a button on a screen, you probably want to tell them to touch it. But touch also can mean "longer than one second" because when people read tap they think they immediately let go after they touch it. Touch makes people hold down for a little longer than tap does. And then of course, hold would make you hold down the button longer than tap or touch.
Tap generally means you want a quick interaction. If you want the user to quickly release, you would tell them to tap.
Push is taken from the physical idea "push the button" but on a phone it's sort of irrelevant. It's used interchangeably with touch, but we have touch so I don't know why anyone would use it, really.
You can see this best in rhythm games (like Deemo or Cytus). You tap buttons to "dance" in those games, but you touch a song to choose it.