When two straight lines touch at one point, their gradients are most definitely not the same.
However, when I draw a tangent to a curve, why is the gradient of the tangent the same as the gradient at that point? I'm having trouble accepting this and I was wondering if there was some proof or intuition for this.
In mathematics, two curves/lines touching usually means that in some neighbourhood, they meet at exactly one point, and that they are pointing in the same direction there. An exception is something like $y=-|x|$ with either $y=\frac12x$ or $y=x^2,$ where the curves at their meeting point are not pointing in the same direction.
As such, two intersecting lines are not usually said to "touch" each other, nor are two coincident lines.
The curve's tangent at a point is defined to be the straight line touching the curve there; so, they point in the same direction there, so have the same gradient there.