Update: 12.1
Another way to generate the mesh is to make use of the OpenCascadeLink. For this we generate a flat cross section of the glass in 3D.
polygon =
Polygon[{{0, 0, 0}, {r2 + del, 0, 0}, {r2 + del, 0, L1}, {r1 + del,
0, L}, {r1, 0, L}, {r2, 0, L1}, {0, 0, L1}}];
Graphics3D[{FaceForm[], EdgeForm[Black], polygon}, Boxed -> False]

We load the link
Needs["OpenCascadeLink`"]
and convert the polygon into an OCCT shape:
shape = OpenCascadeShape[polygon];
We set up an axis of revolution and sweep the polygon.
axis = {{0, 0, 0}, {0, 0, 3/2 L}};
sweep = OpenCascadeShapeRotationalSweep[shape, axis, 2 [Pi]];
Here is a visual of the result:
bmesh = OpenCascadeShapeSurfaceMeshToBoundaryMesh[sweep,
"ShapeSurfaceMeshOptions" -> {"LinearDeflection" -> 0.00125}];
Show[Graphics3D[{{Red, polygon}, {Blue, Thick, Arrow[axis]}}],
bmesh["Wireframe"], Boxed -> False]

You see the original polygon in red and the blue arrow is the rotational axis. From here we can generate the mesh in the same way:
mesh = ToElementMesh[bmesh, "MeshOrder" -> 1(*,
"MaxCellMeasure"\[Rule]0.000000005*)]
mesh["Wireframe"[
"MeshElementStyle" ->
Directive[Opacity[0.2], Specularity[White, 17], FaceForm[White],
EdgeForm[]]]]

This is a much better approximation of the geometry. Nevertheless finding the eigenvalues remains challenging as there is a strong dependency of the eigenvalues on the mesh.