I don't know the answer, but imagine I have two auxiliary coordinates along dimension 0. They don't have a standard name or long name, just units (the same e.g. 'metres'), points (same shape, different values) and var_names (different e.g. 'height' and 'width'). If we take your stance, the two coordinates have the same definition (I say metadata), so cannot currently exist on the same cube. From my point of view they are different - they have different variable names, so they should be able to coexist. Such a thing can exist in CF right?

From the other side, imagine I have two cubes, both with a standard name of 'mass_concentration_of_carbon_dioxide_in_air', same units, same shape, same data values, same coords. The only thing that differs is that one originated from a cf-netcdf file with a var_name of 'tcco2' and the other was 'co2'. Should these cubes be considered equal? My heart says yes, my head say yes, then no, then gives up.

My inclusion of var_name in the metadata (cube) and CoordDefn (coord) might be considered more true to CF, but as a pragmatist I can live without it. Your call.