number of samples and Amplitude accuracy,what's the solution to this problem
I think that what is happening to u is that the frequency which you are trying to measure is in between 2 of your FFT bins which will cause the power to spread between two different indexes of your result FFT.

Another possible solution , only if with higher resolution you are getting a lower value  , is that since as I understand this is a real signal with noise you may be summing more noise , on the first attempt, for each frequency of your FFT and as a result raising all the values of your FFT. 

Without knowing the signal you are trying to process it is hard to know what is exactly the problem. also your FFT plots will help give a better answer.