Download URL from clipboard
You maintain old_url as well as past_links. You probably don't need old_url at all because everything you process will be added to past_links.

You are reading past_links as one giant string with embedded newlines. That won't be very efficient when doing clipboard not in past_links because it will have to search through the whole string.

When you run past_links += clipboard, you are sticking the data on to the end of past_links with no newline at the end, so new links added there will be jammed together.

You should probably set up past_links as a set, and use set operations. You can still read and write it as a plain text file.

You create a new thread for each download request, which will download multiple files in parallel. It's not clear that is what you really want to do.

Your use of a recursive call to get_image() is a very strange way to implement a loop.

You are reading the entire download into memory in one giant string, and then writing it out to disk. If you were to download a very large file, your script would require a corresponding amount of memory during downloading. Use urllib.urlretrieve to read directly into a file.

Use clipboard.startswith(&quot;http&quot;) instead of clipboard[:4] == &quot;http&quot;

Finally, use the standard Python Queue module instead of implementing your own:

The Queue module implements multi-producer, multi-consumer queues. It is especially useful in threaded programming when information must be exchanged safely between multiple threads.