I know this might be a somewhat long and tangential answer, but I wanted to give a different viewpoint, because this is such an unintuitive fact.

Firstly, let me just say, for how much time we spend learning about the number line and calculating with Real numbers, they aren't the cute and familiar number system you think they are. Beneath the facade of familiarity lie a whole bunch of technical constructs and counterintuitive facts which justify the suffering of many undergraduates taking their first course in Real analysis (and the existence of books such as "Counterexamples in Analysis").

Lets start off by trying to define the real number system so that we can agree what a real number actually is - it's not unreasonable to think that .999... might be a fundamentally different object than 1, perhaps belonging to a set of "approximate" numbers. Without discussing any of the technicalities, I think a reasonable first stab at a definition of the Reals between could be the set of all decimal numbers (e.g. 111... or 7.500...).

On to my main point, how should we define equality of two real numbers? The most naively appealing answer would be through equality of their decimal representations (i.e. two numbers are equal if and only if their decimal expansions are equal, and if the decimal representations are different then the real numbers are different). Under this viewpoint, each real number has a unique decimal expansion (since real numbers are in one to one correspondence with decimals, and different expansions mean different numbers), and .999... is not equal to 1 (or 1.000...) because their decimal representations are different.

However, since there are no "gaps" in the Real number line, there must be some other number between the two. What would the decimal representation of this number look like? If .999... and 1 are truly different, then the mean should lie strictly between the two.

(1 + .999...)/2 = .5 + .499... = .999..

Well that's frustrating. What about trying to "squeeze" another number between the two decimal digit by decimal digit? The first decimal digit of this number has to be 9 (since it is less than 1, but greater than .999...), and by the same reasoning so must the second digit, and on and on...

Perhaps 1 - .999... is an "infinitesimal" real number given by .000... infinitely repeating followed by a 1 at the end. If you believe this, let's try and write out the decimal expansion of this number digit by digit. Of course the first decimal digit is 0, along with the second, and the third and so on. From this information, the decimal expansion of this "infinitesimal" number is a string of 0's (i.e. 0). You might object that I'm not considering the 1 at the end: what you really meant was a sequence of numbers getting smaller and smaller i.e. whatever number the sequence .01, .001, .0001 and so on tends to. But if this sequence is to represent a real number, it must have a single unique decimal expansion at the end of the day, and there is no escaping that all of the digits must be 0.

At this point, it should start to be apparent that the idea that every real number has a decimal expansion, and that the expansion must be unique (i.e. Real numbers with different decimal expansions are different numbers) are in conflict with each other. But why should we define equality through representation? After all, 1/3 and .333... infinitely repeating define the same number, but have quite different representations.

I hate to be reductive, but for whatever reason mathematicians have decided that the benefits of allowing the real number system outweigh the drawbacks of allowing non-unique representations of these numbers. In fact, one sees this idea repeated over and over throughout mathematics e.g. completeness of Lp spaces outweighs the drawback of generalizing measure and defining Lp functions as equivalence classes equal a.e., expanding the definition of derivatives to allow for weak differentiability permits a wider class of solutions to PDEs (such as shocks) and so on. There's always some sort of trade-off to be made between nice behavior and power + generality, and while it is often painful to adapt to, it pays off in dividends to go beyond one's intuition in mathematics.