I agree with Bendall that sampling is what is most likely causing your problem here. You may find this post useful: https://support.google.com/analytics/answer/1042498?hl=en-GB
I suspect that the reason that your sampled total closely matches the total of individually downloaded monthly data is because sampled data is Google's 'best guess' when the data in the date range becomes too large. This best guess is based on sound statistics, but ultimately there will be some variances. I've found these variances get bigger the larger your site and the larger your date range. Google do this to reduce load on their servers as crunching the numbers for large data sets can be very resource intense. You COULD upgrade to Google Analytics Premium which gives you un-sampled data as standard, but this is very expensive and only really suitably for large organisations.
There is no easy way round this I'm afraid. I'd suggest that you think about what level of data you are comfortably using - sampled data can still give you valuable insights / trends. Some are comfortable with using sampled data (I prefer now too). I believe there are some tools that allow you to download un-sampled data from Google Analytics via their API but I have not tried these.