You actually have a couple of different issues here.
First, it appears that both of these employers have chosen to treat you differently for tax
purposes. The one who sent you the W-2 form is treating you as a regular employee, and has deducted taxes from your check. The one who sent you the 1099 form is treating you as an independent contractor, which means you are now responsible for paying all of your own taxes, including the full cost of social security and medicare
Since you were virtually doing the same job for each of the employers, one of them has misclassified you. The IRS would be the ones who have to make the ultimate determination of how you should be classified, but based on what you have told me, my guess is that both of these employers should have treated you as an employee and not as an independent contractor. Being classified as an independent contractor will cost you more taxes. You should submit Form SS-8 to the IRS to explain the details of your job, and let them make the determination. If the IRS determines that you should be classified as an employee, then the employer who mis-classified you will need to start treating you as an employee and withholding
the proper taxes.
In the meantime, regarding the fact that the amounts reported to you are different than your records, you should request from each of them a corrected form. If they are unwilling to provide you with a corrected form, you need to call the IRS and ask them to issue Form 4598 to each employer. This is a request for a correct form to be sent to you. The IRS will give the employers 10 days to comply or they can be fined.
If this was helpful please press the Accept button. Positive feedback is also appreciated.