Why does fft require a power of 2 sample numbers? I'm a beginner in signal processing, I do not know if I'm right but what I understand so far is
if I have a signal of 44100 samples I have 22050 frequencies

so if I choose 512 samples for the fft the 43588 samples will not be analyzed
I can only edit the spectrum from 44100/512 = 86.1hz to 22050hz
if I want to edit the frequency 1hz I'll have to give 441000 samples to the fft but I can only give it or 65536 samples to analyze all the 22050 frequencies
then with 65536 given to the fft I can edit up to the frequency 32768hz
It doesn't.  An FFT is just a method or implementation of computing a DFT that runs faster if the length (N) can be factored.  It runs relatively faster (compared to a DFT of the same length) given a larger number of small prime factors of N, and is simpler for smaller numbers of unique prime factors of N (such as: only one).  

Picking just one prime factor, such as the smallest, 2, makes textbook derivations and examples of FFT computations use less ink in the textbook and/or less chalk on the chalkboard.  

But many modern FFT libraries are capable of computing an FFT for an N that is a composite product of several other (fairly small) prime factors, not just 2.