I assume it might be due to a rounding error or maybe the different approach of calculating the log_softmax.
The error is even bigger comparing these two methods:
r = torch.randn(1, 1000).float()
a = r.clone()
b = r.clone()

err1 = a - b
print torch.sum(err1)
>> 0.0

err2 = torch.log(F.softmax(a)) - F.log_softmax(b)
print torch.sum(err2)
>> 1.0e-05*3.5763