The ambiguity of chord naming begins with the ambiguity of note naming. Assuming a well-tempered tuning system (i.e. go away, pedants), any pitch can have at least two enharmonic note names if you allow double-sharps and double-flats. For example, F# is the same pitch as Gb. Taking a pitch in isolation, no enharmonic name for a pitch is more correct than any other. Pitch class theory does away with this distinction entirely by giving each semitone its own number, in which case both F# and Gb (and Ex for that matter) have the number 6. This doesn't appear until the 20th century though, prior to which the ambiguous method for naming pitches is the basis for tonal music.

When notes are arranged into groups of three or more, the groups are called chords. Chords have two related but separate identifying characteristics: a sonority and a function (though the latter only applies to functional harmony). Roughly, the sonority is the sound of the chord and the function is the chord's relationship to neighboring chords and the tonal center. A chord in isolation has a sonority but no function.

There are several schemes for naming chords, none of which perfectly isolates these two characteristics. This is the first ambiguous characteristic of chord naming. Calling a chord Ab minor speaks mostly to sonority, but it also specifies that Ab is the root, which is in the realm of function. Likewise, roman numeral analysis mostly describes chord function, since it describes the relation of the chord to the tonic and its functional role: V7 chords naturally progress to I, Neopolitan and augmented sixth chords naturally progress to V7 or I64, and so on. However, roman numeral analysis also describes sonority by differentiating between major and minor, diminished, and half-dimished.

There is no scheme in the context of classical theory by which you can canonically name the sonority of a chord. Therefore, a chord in isolation (which has has no function) will often have more than one valid name, describing a function that chord could have among other chords. There are numerous examples of this: a dominant seventh chord could also be a german augmented sixth chord, and a diminished seventh chord could be in any inversion since the sonority doesn't change when you invert it.

This is the ambiguity of chord naming. You can't make a giant table for first-year theory students (or a computer program) that says: "when you see these four notes, it is this chord, period." It depends on function, which depends on context. Even when you have nailed down the function, you can name it using more than one scheme, for example, B diminished vs. viio7/V.

Once you add jazz chords, pop chords, polychords, and pitch-class sets the possibilities for ambiguity increases dramatically, and some pieces of music have chords that aren't clearly namable at all. With jazz theory, no one can even agree how to notate chords, so you have to be able to read +/-, b/#, triangles, m/M, maj, it's a mess.