AES comes with key sizes of 128, 192, and 256 bit.
But in Truecrypt or other crypto software we can use passwords of different length, even less than 128 bit or more than 256 bit.
How is this possible?
I imagine that Truecrypt uses a KDF, to derive a 128/192/256-bit key from your password. This is standard practice. It's unadvisable to use a password directly, as they're generally low-entropy (predictable), and too short (as you've noted).