What's the maximum memory address space that the processor can access directly if it connected to a 16-bit memory? The question is the following:
3. Given a hypothetical microprocessor which generates a 16-bit address (assume that the program counter and address registers are 16 bits wide) and has a 16 bit data bus.
a) What is the maximum memory address space that the processor can access directly if it connected to a "16-bit memory"?
b) What is the maximum memory address space that the processor can access directly if it is connected to an "8-bit memory"?

It feels like the answer to both would be 2^16, which is equivalent to 24KiB. It also feel natural to say that an 8-bit memory can tranfer 8 bits and a 16 bit memory can transfer 8 or 16 bit words.

But the problem is that the actual answer booklet says the following:
In cases (a) and (b), the microprocessor will be able to access 2^16 = 64K bytes; the only difference is that with an 8-bit memory each access will transfer a byte, while with a 16-bit memory an access may transfer a byte or a 16-byte word.

So 1) 64K? Isn't the unit suppose to be KiB? I am very confused.
2) 16-byte word? Shouldn't it be a 16-bits word?
I think there is a confusion here between the number of memory addresses and the total size of memory that can be addressed.

The microprocessor can access $2^{16} = 65536$ memory addresses, regardless of the size of data held at each memory address.

If each memory address holds one byte ($8$ bits) of data then the total memory size that can be addressed directly is $2^{16} \text{ bytes}$, which is $2^6 \text{ KiB} = 64 \text{ KiB}$.

On the other hand, if each memory address holds two bytes ($16$ bits) then the total memory size that can be addressed directly is $2 \times 2^6 \text{ KiB} = 128 \text{ KiB}$. 

It also appears your text is using KB as an abbreviation for KiB, which is a common shorthand but not strictly correct.