If this happens, as you write, "every single time" you come home from work, it's crystal clear she's telling you she has some kind of problem with that moment in her day. She could be showing you, as you say, that she's angry you are not there all day; or that you have just interrupted the schedule of her day she keeps in her own little head (kids have their own very firm ideas of "what should be happening right now" and maybe your arrival somehow upsets that for her); or that you "did something" (or didn't do something) in her mind. You can't read her mind. I would not get all fixated on "What did or didn't I do to make her like this."
So think hard: Does she come home from day care with dad hungry? Has she had her last snack several hours before pickup so the moment you walk in the door she's melting down from a blood sugar crash? Then have Dad hand her a healthy snack in the car as they drive home--a cheese stick, whole wheat crackers, etc. Or is she in mid-activity when you pull up? Is she usually playing with Dad, or does she run right to her toys when she and he get in, or she's watching her one favorite TV show, and you're interrupting that? (Don't be fooled by the "Yay, mommy's home," she may be saying that kind of automatically before she realizes, mommy's interrupting me.) There could be many tiny factors in the daycare pickup/snack schedule/activity schedule/need for more down time than daycare allows that you and your husband and the day care provider should sit down and pick apart to see if there are additional factors. She may be profoundly tired by the time you walk in and taking that out on you.
She has no business hitting and pushing you, of course. I don't think spanking can teach her "Don't hit mommy" because frankly spanking is striking her in order to teach her not to strike others. But rather than punishment when she lashes out, try turning around and leaving silently and instantly.
She is getting a lot of what's called "negative attention" when she lashes out -- and with kids this age, even the negative attention of being punished IS a form of attention and they will learn to do things to get that attention. So take away that attention -- yes, take away the attention that comes with punishing her and reacting so strongly to her! Your strong reactions (and your husband's, I assume) are a form of attention to her right now, which may be why she keeps repeating the behavior.
You will shake her up a bit if as soon as you say your big smiley "Hello," and she screams and swings at you, you immediately, quietly say, "I'm sorry you're choosing to yell at mommy," and instantly walk back out the door. Shut it behind you. You and your husband will have to see what happens --She might be struck silent, she might burst into tears that she has upset mommy, she might get more angry instead. Go on those cues. Your husband shouldn't cuddle and coddle her at that exact moment; let her have her time to react. He too could try being silent and calm. After maybe two minutes (no more, time is an eternity to kids this age), try knocking on the door but don't open it yourself. Your husband can say, I think that's mommy. Are you ready to try again and open the door for her? See how she reacts. She might well be contrite and want to open the door. She might open it and lash out at you for leaving (in which case I'd say "I'm going to try again and see if we can start over.").
This could take some trial and error but if she's otherwise a pretty sweet kid, you may find that the shock of your turning around and leaving stops her cold. I definitely do NOT mean, make her think you're gone for good, stay away for a long time, use statements like "You drove mommy away!" etc. No! I mean, make clear to her that you are not going to give her any attention for lashing out and neither is your husband. Keep it cool and collected. Don't make any statements like "I won't come home if you act like this" -- kids take those things very literally!
You are naturally punishing her, which would be any parent's initial reaction, but consider trying withdrawing all your reactions to the behavior other than a very calm but very swift departure and a "let's try agaiin" approach. It may take more than one time for this to have an effect. And meanwhile think through her day care day, her tiredness level, the hunger factor, etc.