You get a better mesh with a different boundary mesh generator:

    (mesh = ToElementMesh[reg, 
        "BoundaryMeshGenerator" -> \
    {"BoundaryDiscretizeRegion",
          Method -> {"MarchingCubes", PlotPoints -> 33}}, 
        "MeshOrder" -> 1,
        "MaxCellMeasure"\[Rule]0.000000005])["Wireframe"]


[![enter image description here][1]][1]

For that mesh I get

    Abs[vals]/(2 Pi)
    (*{0.000502385, 0.000502385, 0.00072869, 0.00072869, \
    0.000733392, 0.000733392, 0.0010404, 0.0010404, 0.00150767, \
    0.00150767, 0.00151325, 0.00151325, 0.308656, 2238.88, 2238.88}*)


And the 14th mode looks like:

    MeshRegion[
     ElementMeshDeformation[mesh, Re[Through[funs[[14]]["ValuesOnGrid"]]],
       "ScalingFactor" -> 10^9]]

[![enter image description here][2]][2]

Two other comments: the fact that NDEigensystem gives messages suggests to me that this mesh is still not good enough; as you see I also used `MeshOrder->1` as I did not want to wait for a second order mesh to finish. But you might want to try that and a finer mesh. Probably by using more plot points. Perhaps generate the boundary mesh manually?

A second thing that come to mind is that I think you should have some rigid body modes because the glass stands on the table. Maybe experiment with

    DirichletCondition[{u[t, x, y, z] == 0, v[t, x, y, z] == 0, 
      w[t, x, y, z] == 0}, x == 0]

Also, there is a nice Bell Acoustics customer example in the [FEMAddOns](https://github.com/WolframResearch/FEMAddOns). You can install that with 

    ResourceFunction["FEMAddOnsInstall"][]

and find it on the Applications guide page

    FEMAddOns/guide/FEMApplications

or have a look at the cloud version of that [notebook](https://www.wolframcloud.com/obj/github-cloud/blobs/e55af7e9216711be5a312d3ed6dd8e448775435a).

Hope this helps.

  [1]: https://i.sstatic.net/F993n.png
  [2]: https://i.sstatic.net/Ru9Lt.jpg