It really depends on how pedantic you want to be.
In the most extreme phrasings, there is a frame centered on the earth which is inertial, sometimes marked as "Earth inertial" and there is a frame centered on the earth which is fixed to the geoid of the Earth, sometimes marked as "Earth fixed."
The key attribute of frames is that, within a frame, a vector always has a single given direction and magnitude. However, when one converts between frames, that vector may change. For example, the acceleration vector of an object fundamentally changes when going between the Earth fixed frame and the Earth inertial frame, accounting for the rotational effects of the Earth.
A coordinate system is a way of measuring these vectors as a string of numbers. ECI and ECEF are technically coordinate systems (or a class of coordinate systems, more on that later). To do this, one chooses a set of basis vectors. Those basis vectors may change over time in a frame, but typically we choose vectors that remain fixed in the frame for sanity reasons.
We treat these as roughly interchangeable because you need a coordinate system to write the vector in component form, and we work in component form so much that it's hard to imagine a vector without them. Vectors do exist without them. But in this day and age, with computers doing as much as they do, we almost always have vectors described in a coordinate system.
We can see this issue by looking at the class of ECI coordinate systems. There are actually many such coordinate systems. If its an inertial coordinate system, and its centered on the earth, its ECI. The most famous, of course, is ICRS, based on directions to many distant celestial bodies, but you can create an ECI coordinate system at any moment in time just by picking your 3 axes in an inertial frame and leaving it at that. As a practical example, I have worked with simulations where ECI coordinate system (at least, the one recognized by the sim) is defined to be aligned with ECEF at t=0, an arbitrary moment in time where the simulation clock happened to read 0. It was simply a matter of convenience.
Thus I could have two vectors (1, 0, 0) in ECI coordinate system A, and (0, 1, 0) in ECI coordinate system B, and have them actually be the same vector. They're just broken into components differently. A simply had a different ordering of basis than B did.
However, if I take a vector like (1, 0, 0) in ECI coordinate system A and transform it into ECEF, I have to recognize that ECI was in the inertial frame, and ECEF is in the fixed frame, so the vectors can fundamentally change in direction and magnitude. This is different from a coordinate system change, where the numeric change in components is little more than a shell game.
(ECEF could be thought of as a class, just like ECI, except that ECEF is defined with respect to the international reference pole and the international reference meridian -- aka the North pole and the prime meridian. So it truly is a coordinate system)
So in the most technical of settings, ECEF is a coordinate system, ICRS is a coordinate system, and ECI is a class of coordinate systems. None of them are frames -- Earth Fixed is a frame and Earth Inertial is a frame. However, in the practical world, they are treated interchangeably as is is rare that we find a chance to leverage the mathematical beauty of vectors without components tying them down. Indeed, it is not unusual to hear ECI and ECEF be referred to as frames. Know your audience, and use the terms in the most effective way to convey your meaning.