The explanation is easy: Canada is not on the European continent. The EU can only extend full membership to countries on the continent, so Canada needs a special arrangement. And because there's a whole ocean serving as a reason for this special treatment, it's easy to argue that it won't extend to countries who can become full members.