The texture on the bunny works, because the rendering of the basic model works with ListSurfacePlot3D, in this case. If the model rendering is not good the application of a texture will not improve the situation.
With ExampleData["Geometry3D"] it seems generally to be better to use RegionPlot3D/DiscretizeGraphics compared to the alternative ListSurfacePlot3D/VertexData.
Examples with the Klein Bottle:
RegionPlot3D@DiscretizeGraphics@ExampleData[{"Geometry3D", "KleinBottle"}]
ListSurfacePlot3D@ExampleData[{"Geometry3D", "KleinBottle"}, "VertexData"]