If you find yourself rebooting the modem a lot, then most likely it is the modem. if you find that it drops you and it is fixed by a reboot of the modem then I would guess that would be it. You can also bring up a command promt and try a tracert (space)
www.google.com and see if , and where it drops off. If you get nothing when pinging a www addy, try a ip ping e.g. 64.169.140.6, and see if that works. If so its a DNS prob. It could be just a network prob from your provider as well. I work with a DSL provider on these types of probs, and there are many possible things to go wrong. Sounds like you covered most of your end. May as well swap out the modem and go from there. Also I have switched out a few NIC's and have had 2 in a row be bad, so that is also possible.
Hope that helps