Just in case using a single Graphics3D
may be of interest:
Graphics3D[{
PointSize[.01], Red, Point /@ threedPts,
Blue, Thickness[.003], Line@(Insert[#, -1, -1] & /@ twodPts),
GraphicsComplex[pts, {EdgeForm[], FaceForm[{Pink, Opacity[0.4]}], Polygon[surface]}],
ImageSize -> {200, 200}
}]
gives