It's a problem with the taper object and the curve itself.
First of all, like @Chris says, your curves have non applied rotations and those always tend to mess things up.
Another problem is that your modeled your taper object in the Z direction but Blender takes the taper value from the coordinates along the Y axis :

This is a screenshot from the official documentation about the taper object :

Look at what happens when I move one of the taper object's control points along the x axis :

With that said, your curves still responds to the taper in a funny way and I had real trouble trying to figure out how it was supposed to work so the best solution I found is to redo everything from the beginning without rotating the curves or transforming them in Object Mode. The steps are simple :
Add a Bezier Curve

Scaling everything by 0 on the Y axis, to get a cylinder

And add another Bezier for the taper object

You can now model your taper object but just remember that only the positions of the curve's vertices on the local X and Y axis will be taken into account :
