Given two arcpy.Polyline geometries.
If they only touch each other:
poly1.touches(poly2) == True
if poly2 touches and at the same time crosses poly1:
poly1.touches(poly2) == False
poly1.crosses(poly2) == True
Therefore, I offer to change the logic. If they touch - it's True, whatever other relations they have.