Are machine codes always numerical? (WIkipedia is Ambiguous)
Yes and no and, really, it doesn't matter.

All data in computers, including programs, is stored in devices that have two possible states&nbsp;&ndash; e.g., memory cells that can be at a high voltage or low voltage or areas of a disc that are magnetized north&ndash;south or south&ndash;north. These two-state systems are naturally interpreted as the binary digits 0 and&nbsp;1.  Any sequence of 0s and&nbsp;1s can naturally be interpreted as a number written in binary.

Machine code is data that is stored on computers. Therefore, it is stored in a sequence of two-state cells, which can be viewed as a sequence of binary digits, which can be viewed as a binary number (or a sequence of binary numbers if you divide it into blocks). Does that mean it is a binary number? Really, that's a question of philosophy. The computer doesn't say "That pattern of 1s and&nbsp;0s represents the number 3476247, which means I should do&nbsp;X": it just says "That pattern of 1s and&nbsp;0s means I should do&nbsp;X." To the computer, it's just an instruction. But if you and I want to talk about that instruction, it's probably easiest to first see it as a number and then figure out what instruction it stands for.