Thanks everybody for the ideas and advices.
Like I mentioned earlier, I sent HR an email mentioning that coz I didn't want to hide anything as integrity is the key in that company.
And HR forward my email to the company's immigration attorney, whose opinion is as below:
He should be fine. While it is a bit of a grey area, I think it is an appropriate position to take that the kind of article writing that he was doing was more along the lines of professional development and that he received an honorarium (much like a speaker at a conference may receive a token payment as a thank you for speaking), which would not be viewed as employment. He therefore would not have needed work authorization for those articles.
So I talked to the Web site and agreed to contribute those 3 articles at no charge, which they agreed, and their accounting is work on stopping paying me further for my May's article and receiving the refund from me. And they won't send IRS a 1099.
Now I feel much better. Hope this thread can help and warm other people as there're some forums say if you did any freelance work on H-1b, you're basically out of status. And freelance work is very confusing as all you need to provide is your SSN and they don't need you to fill out I-9 or verify your ID, which is more like entrapment for H-1b holders (those w/o EAD obviously).
Thanks again!