I feel a need to weigh-in here ;-)
I think that part of the answer depends on which parts of Blockly you're talking about. There is a subset of Blockly that is only about defining the shapes and styles of blocks and that provides a UI surface for those blocks and an abstraction for writing code generators based on those blocks. That subset is fairly clearly not a programming language.
However, Blockly also contains a set of pre-defined blocks and code generators and a mechanism for defining variables. I would argue that that part of it is defining a programming language. It's a programming language that is. or at least attempts to be, a fairly minimal language suitable for small programs that is learnble by people with little or no programming experience.
-Mark
I would argue that Blockly is indeed a programming language, but it is not an interpreter. (It's a transpiler.)
While most applications that use Blockly do define a programming language, Blockly itself doesn't define any particular language. It's up to the end applications to create the blocks and determine what to do with them. An extreme example is this application that doesn't define anything that could be considered a programming language: