With an encoding such as EBCDIC being in existence already (and being 8 bit to boot), what was the need to invent yet another encoding and a 7 bit one at that?
Why was ASCII invented and what problems with EBCDIC did supposed to solve?
Development of ASCII started earlier than what you think (see for instance Eric Fischer's The Evolution of Character Codes, 1874-1968) and IBM 360 - for which EBCDIC was developed -- should have used ASCII if its development had not been so slow (see http://www.bobbemer.com/P-BIT.HTM)
See also C. E. Mackenzie, Coded Character Sets, History and Development, ser. The systems programming series. Addison-Wesley, 1980. which describes the development of ASCII, EBCDIC and some other character sets with rationale for some of the assignations (things about chain printers and punched cards are fascinatingly obsolete but still have influence on what we use).
One reason is because EBCDIC wasn't a good standard, at least depending on your purpose. For example, the letters aren't in two (upper and lower case) contiguous blocks - there are extra codes between the EBCDIC letter codes, some of them used for other valid characters. The
~ is between
s, for example. This makes sorting a bit more difficult.
Another is precisely because ASCII is a 7 bit code. Saving one bit per character was worthwhile at the time, and even six-bit character codes weren't uncommon. Even when 8 bits were used per character, the eighth was often a parity bit and not part of the character code.