Even if both the French "copain" and the English "partner" in some cases would translate into each other, you have to remember that "copain" to mean "boyfriend" is unformal, and most people wouldn't use it to describe the person you've been living with for ten years (even if you're unmarried). It's the same for English: you wouldn't use "partner" if you were 20 and had been dating somebody or four months.
Not exactly, "ami" would be just a friend you do know (but aren't close to) while "copain" would mean a close friend or someone you usually hang out with.
It's not the same to say "he's my friend" than "he's my pal"
Oh, and while I answer this, I have an open question to all. Would "His pal is a journalist." work too?
John est mon petit-ami, Patty est mon amie, et Mary est ma copine. Easiest way to distinguish between them all.
Petit(e)-ami(e)=boyfriend/girlfriend Copain/Copine=Close friend, or in the correct context, boyfriend/girlfriend Ami/Amie=Friend, pal, buddy, etc.
You can be good friends with someone and call them ami(e) because it could be misinterpreted otherwise. As an example, if John (a man) were to say, "Sally est ma copine," it would mean that Sally is his girlfriend. Were Sally simply a friend, even a good friend of John, he would likely say, "Sally est mon amie," to avoid confusion.
I love DL consequence - in one exercise "copain" is translated to "companion" and "friend" is not accepted, when in this exercise it is the opposite. :)