Electrum Seed Length
The 13-word mnemonic is just a way to encode a 128bit number into something human-readable and memorable. The 13th word is a checksum, and 12 words would suffice to recover the number encoded. You should always generate it by truly random means to reduce likelihood of someone generating the same as you and running away with your coins.
Some more info can be found here.

The wordlist consists of 2048 words since circa Aug 2014.
If you want to know how many words you need to encode a 128bit number, you can calculate yourself.

Log_2048(2^128) = 11.63636364


The 128bit number is actually a 32 digit base16 ("hex") number (2^128 = 16^32).

I tried to replicate what you did, and used electrum wallet recovery function. When inputting a 32 digit hex number, I get a 12 words mnemonic. It would also accept a 64 digit base16 number, and then I'd get a 24 words mnemonic, which makes sense considering how it's generated. However, I'm having trouble replicating what you experienced, to get a 24 word mnemonic from a 32 digit base16 number.

Now, what is that 128number used for? It's used to generate your master private key, master public key and all the keypairs in your wallet. It's nicely detailed here.


  The total number of possible extended keypairs is almost 2^512, but the
  produced keys are only 256 bits long, and offer about half of that in
  terms of security. Therefore, master keys are not generated directly,
  but instead from a potentially short seed value.
  
  
  Generate a seed byte sequence S of a chosen length (between 128 and
  512 bits; 256 bits is advised) from a (P)RNG.
  Calculate I =
  HMAC-SHA512(Key = "Bitcoin seed", Data = S)
  Split I into two 32-byte
  sequences, I_L and I_R.
  Use parse_256(I_L) as master secret key, and I_R as
  master chain code.
  
  
  In case I_L is 0 or ≥n, the master key is invalid.