Problem with boolean union of pipe segments

I used Flow Along Surface to put these separate curve segments on the cylinder pictured. I then piped them. I did not join them together first because the turns in the curves are too tight to use the piping command with my desired diameter. Even at smaller diameters, the joined together curve made a mess of piping.

I then wanted to boolean union these pipe segments together, but they refuse.
I know Boolean Union is finicky. I have tried: exploding everything and joining it back together, splitting, rebuilding curves before piping, but I just can’t get this to work.
I am sure there is a better way of doing this altogether but I just don’t know what it is. I tried sweep 1 with unsatisfactory results and the same problem.

Please help, thanks!!

P.S. is there a plug-in that successfully builds pipes around curve structures? I feel like I’ve seen something like that but do not recall exactly.