How do I add watermark to the image with insert module
Your question is threefold:
Adding a watermark
For this, I suggest using ImageCache Actions module. Of the effects it provides, first one is:


Watermarking - a much requested addition that enables you to place any image anywhere over a source picture, with alpha transparency


Selecting watermark
Image field does not know about taxonomy field when it decides how to render it's content. You could hack it together in your template. I would rather go for Formatter Field - not exactly what you described, but use case on module page seems to fit your needs:

For example, say you have a page node with an image field. Normally, you would select an image style as the formatter, and all page nodes would use that same image style. With this module, you can add a formatter field to page nodes, which is hooked up to the image field. Then when the node is created or edited, the image style can be selected per-node.

Preventing original image from being downloaded
Drupal modifies user-provided content on display, not on save. This means your original image will be up there, without watermark. Image Style Access claims to be the solution:

This module provides access control for image files. Each access configuration can be set to allow or deny access to images and their derivatives by:

Disclaimer: I never used this one .