This statement is true actually..
As far as the instruction length is concerned , instructions are divided into two types :
a) Fixed length instructions
b) Variable length instructions
Most of the architectures now use fixed length instructions . So in such instructions , the instruction length as a whole is fixed but its field's length can be altered in turn hence to achieve the same..
Say I have instruction of length 20 in which there is an opcode field of 6 bits and two address fields(one say for source and one for destination) each of 7 bits..
Now say if we need one address instruction while keeping instruction length fixed i.e. 20 bits..So what we do is we use a technique known as expanded opcode technique..So one address field is now appended as a part of opcode..
Hence now opcode bits = 13 bits and addressing bits = 7 bits. as opposed to 6 bits of opcode and 14 bits of addressing in earlier case..
If we see w.r.t previous type of instruction i.e. 2 address based one , it is for instructions like register to register transfer..But say for stack based instruction in which entire bits are meant for opcode only and no addressing field , the addressing mode is implied addressing mode.
So by variation of addressing modes , we are getting different types of instructions , specifically different number of bits for addressing in each case..Hence the statement should be true.