The differences might come from a lot of sources:

different model architectur
different parameter initialization
regularization
optimizer

I would start by comparing the initialization methods and write a custom init method for your PyTorch model if necessary.
Also, I’m not sure what activity_regularizer=regularizers.l1(10e-5) means in your Keras model.
Does it take the L1-norm of the output activations and add it to the loss?