The reason why 2^256 is not the maximum is because if it were the maximum, it would have already exceeded the range of the valid private keys in the elliptical curve. The range is n -1 wherein n is equal to 115792089237316195423570985008687907852837564279074904382605163141518161494336.
Why not all ffffffff.......f (i,e 64 no of f or 2^256) ?
All the hexadecimal number (or those 0-9 and a-f characters) is the equivalent of n-1 so basically it is just ensuring that the range stays within the range of any point at the elliptical curve. If you surpass the range, it would be an invalid private key, which would result to an invalid public key and therefore cannot be used to obtain valid addresses.