I do not fully understand how you want to calculate your sine wave? Here is a small example how to add a sine wave with numpy.
duration = len(data)/float(rate)
t = np.linspace(0, len(data), rate*duration)
sinewave = np.sin(2*np.pi*440*t)
data += sinewave
EDIT
Sorry, I rered your question and recognized my answer did't matched your question. Even of you really add all positive frequencies (that are analyzed by the fft), you get no uniform |Y(freq)|.
duration = len(data)/float(rate)
t = np.linspace(0, len(data), rate*duration)
allfreqs = np.fft.fftfreq(len(data), 1.0/rate)
for f in allfreqs[:len(allfreqs)/2]:
data += np.sin(2*np.pi*f*t)
As far as I understand it's because of interference. If you add so many sine waves, it's likely, that some become weaker, some become stronger.
If you assign a random phase to each wave, things look different:
duration = len(data)/float(rate)
t = np.linspace(0, len(data), rate*duration)
allfreqs = np.fft.fftfreq(len(data), 1.0/rate)
for f in allfreqs[:len(allfreqs)/2]:
data += np.sin(2*np.pi*f*t + np.random.rand()*np.pi)