2. is also what I learned as "assembler": a program which takes ASCII source code (written in a language we call assembler), and assembles that source code directly into a binary executable (no linking).
So, back in the day (and still for me, always):
assembler: ASCII source code in assembler language -- "which language did you code that in? - Assembler."
assembler: the integrated development environment (such as ASM-One) which produces executable machine code straight from source, with no linking step in-between; also known as a two-pass optimizing assembler.