difference between "addressable" and "address" in memory?
Address is a label that identifies a memory location. The memory is $4$ byte addressable means that you have labels that refer to memory locations of size $4$ bytes. You don't have names for smaller sizes. For example, if we have a memory of $12$ bytes and the memory is $4$ byte addressable, then we can have $3$ blocks of memory to which we can assign an address. Their addresses could be Memory block 1, The glorious block 2 and Ceres. Instead of fancy long names what is common is for the addresses to be binary numbers. Since there are $3$ addresses, then we need at least $2$ bits.
In your problem, instead of $12$ bytes, you have $16$ GB ${}=2^{34}$ bytes. The memory is $4$ byte addressable. So, we can have $2^{34}/4=2^{32}$ different addresses. So, we need $32$ bits to encode all addresses.