According to Wikipedia, the first assembly language, "Contracted Notation", was developed in 1947 by the late Kathleen Booth (née Britten). The language doesn’t look anything like “modern” assembly though (see the end of this paper); it’s more a mathematical representation of computer operations.
The first mnemonic-based assembler was developed by Maurice Wilkes and David Wheeler for the EDSAC, with single-letter mnemonics; see Assemblers and Loaders, page 7.
The first symbolic assembler is credited to Nathaniel Rochester, who developed an assembler for the IBM 701 in 1954. I can’t find an example of the mnemonics and syntax used then (in any case, mnemonics tended to be assembler-specific rather than machine-specific).
The first modern-looking assembler was the GAS (Generalized Assembly System) for the IBM 7090, developed by a number of people (including Douglas McIlroy, later of UNIX fame, and George Mealy) in the early sixties.