there are lot of reasons for this question, presence of introns in most genes with higher size for some of them, regulatory elements in, before or after the genes, non-coding protein genes (as LncRNA), accessibilities of the genome in the structure of the double helix to factors...with evolution of the genome from millenium and integration of genome that we don't use anymore.
Humans are eukaryotes, and eukaryotic genes have sections of noncoding DNA called “introns”, while the coding segments are “exons”. Introns are spliced out during transcription and the exons are joined together to form the mature mRNA, which will travel to the ribosome to be translated. This process offers the opportunity for alternative splicing, where different proteins can be produced from the same gene by splicing together different exons.
For example, a gene sequence may be: [exon1———exon2——exon3———-exon4——-exon5], where the exons are exons and intronic sequences represented by —. One mRNA may have this form: [exon1exon2exon5]. Another mRNA made from the same gene may be spliced differently and have the form [exon2exon3exon4exon5]. These would produce different proteins, due to the different sequence of amino acids they would specify. This is why we have more proteins than protein coding genes.