TL;DR Your results are off by a factor 2 because you are using an instantaneous force, i.e. the force spring exerts at some displacement. If you had used an average spring force between 0 and that displacement, you would have got the correct result.
See below for detailed explanation where does the difference come from.
I will first explain this numerically so that you get a feeling about the procedure. Let's calculate what is the spring force and work for every elongation between $0 \text{ m}$ and $-0.2 \text{ m}$ with a step of $0.02 \text{ m}$ (see table below).
Spring Force at Work over
elongation elongation segment dx
--------------------------------------
0 0.0 N N/A
-0.02 m 0.2 N -0.004 J
-0.04 m 0.4 N -0.008 J
-0.06 m 0.6 N -0.012 J
-0.08 m 0.8 N -0.016 J
-0.10 m 1.0 N -0.020 J
-0.12 m 1.2 N -0.024 J
-0.14 m 1.4 N -0.028 J
-0.16 m 1.6 N -0.032 J
-0.18 m 1.8 N -0.036 J
-0.20 m 2.0 N -0.040 J
From the above table, the total work done by the spring between elongation $0 \text{ m}$ and $-0.2 \text{ m}$ is $-0.22 \text{ J}$. This way of evaluating equations is called a numerical procedure, and result accuracy very much depends on the step size you take:
$$W \approx \left\{ \begin{array}{l} -0.2200 \text{ J for } \Delta x = 0.02 \text{ m} \\ -0.2100 \text{ J for } \Delta x = 0.01 \text{ m} \\ -0.2010 \text{ J for } \Delta x = 0.001 \text{ m} \\ -0.2001 \text{ J for } \Delta x = 0.0001 \text{ m} \end{array} \right.$$
As you can see, as step size approaches $0 \text{ m}$ the work approaches $-0.2 \text{ J}$. The negative sign comes from the fact that the spring is being compressed in this case, which means spring takes an energy from the object and stores it as elastic potential energy in spring-object system.
The problem with your procedure is that you calculated work as as $2.0 \text{ N} \cdot (-0.20 \text{ m}) = -0.40 \text{ J}$, as if the spring force $2.0 \text{ N}$ was constant over displacement $-0.20 \text{ m}$, which obviously is not true. To calculate work in this way, you must use the average force spring exerts over the displacement! The average force is calculated to be $1 \text{ N}$ in limit case as $\Delta x$ approaches zero, and the total work is $1 \text{ N} \cdot (-0.20 \text{ m}) = -0.20 \text{ J}$.
If you are still not familiar with calculus (derivatives and integrals), here is an interesting problem for you - express the total work and average force as a function of $\Delta x$.
If it takes $2 \text{ N}$ of force to displace a spring by $2 \text{ m}$ ...
That is a mistake right there. The force exerted by the spring is not constant, but it linearly depends on the elongation, as in
$$\boxed{F_e = -k x} \tag 1$$
where $k$ is the spring constant and $x$ is the elongation. The minus sign defines that the spring (force) always acts in the direction opposite to the elongation.
Since force is not constant over some distance, we cannot simply multiply the final force value with the total displacement. We have to integrate the force over the distance (geometrically, this means finding an area under the force curve):
$$W_e = \int_{x_1}^{x_2} -k x \cdot dx = \left. -\frac{1}{2} k x^2 \right|_{x_1}^{x_2} = -\frac{1}{2} k x_2^2 + \frac{1}{2} k x_1^2 = -\Delta U_e \tag 2$$
where $U_e = \frac{1}{2} k x^2$ is the elastic potential energy, and $\Delta$ denotes a difference (final minus initial value). If you are not familiar with calculus and integrals ($\int$ and $dx$ in the above equation), what it means is that you sum the spring force ($-kx$) for every elongation $\{x,x+dx,x+2dx,...\}$ between $x_1$ and $x_2$, where $dx$ is infinitesimally small increment.
The change in potential energy is the work done on a spring.
This is correct when it comes to "work done on a spring". But the work that spring does equals negative of the change in elastic potential energy! This negative sign is really important, do not ever forget it! The same applies to the gravitational potential energy. Check Eq. (2) if you do not understand why.
In this context we can define an average force that the spring exerts over some distance
$$W_e = \bar{F_e} \cdot (x_2 - x_1) \quad \text{or} \quad \boxed{\bar{F}_e = -\frac{1}{2} k (x_1 + x_2)} \tag 3$$
The force $\bar{F}_e$ is now constant but is valid only for spring elongation from $x_1$ to $x_2$. Also, notice the difference compared to the definition in Eq. (1).
The Eq. (3) explains why your results are off by a factor 2. If you take that the spring starts from relaxed state ($x_1 = 0$), then the average force between $0$ and $x_2$ and instantaneous force at $x_2$ are
$$\bar{F}_e = -\frac{1}{2} k x_2 \quad \text{and} \quad F_e = -k x_2$$
In this particular case you can calculate the work done by a spring as $W_e = \bar{F}_e x_2 = -\frac{1}{2} k x_2^2$, but not as $W'_e = F_e x_2 = -k x_2^2$! In your example, $2 \text{ N}$ corresponds to the instantaneous force and not to the average force.