If the transaction is valid, every node will broadcast it. The miners may not include it in a block, if there are transactions in the queue with a non-zero fee, especially while the mempool is over capacity for the next block. As soon as there is free space in the next block, zero fee transaction will get through - of course, the chance to empty the mempool below capacity is in question these days :-)
You must be an old-timer. That's the old code. The new code most nodes are running requires a 1 sat/byte fee for them to broadcast the transaction.