To multiply two's complement, the sign bit must be treated differently.
For any multiplication of two n-bit numbers, the least significant n-bits for two's complement and unsigned numbers are the same. If you use a 2n-bit result, the most significant n-bits will be different.
You will get the correct results if you increase the number of bits of all the negative numbers to the same number of bits as your result. In order to retain the same "value" the new bits on the left of a negative number are all 1s.