The ball has a kinetic energy of: when kicked.
The force pushing the ball down to the ground can be ignored, since a ball is round, it rolls (doesn't slide), so there's no static friction.
The force of the grass cannot be ignored. And, in this case, essentially acts like static friction, like a block sliding on the ground would encounter friction from the floor, a ball rolling on the grass encounters friction from the grass. We want to know how far the ball will go. Which means we want to know when the kinetic energy of the ball is zero. We want the amount of work done to negate the kinetic energy of the ball we found in the first equation (so we set our equation equal to the negated amount and solve). The amount of work done by friction to stop the ball can be found with:
Solving for distance gives us:
Now that you have the distance, the time can be found with this answer.
However, there are a few options for simulating the movement of the ball in game. One of them could easily lead to you not getting the distance defined by the formula above.
If you're simulating the physics with an iterative approach, your final result will be different (unless your time step is crazy small, you'll have large enough errors to notice). This is similar to the differences you'd get in a Riemann sum estimation vs integration.
An iterative approach is very common in games. But if you're looking for accuracy, you can use the physics equations above and calculate the position of the ball based on the time since the simulation started. The equations for calculating the position since the start of the simulation can be the equations for constant linear acceleration. Since the forces acting on the ball are constant throughout (friction of the grass).