I guess it's a sign of the times.
Here, out of interest, is a list of the ages the various Bond actors were when they played Bond for the first time (I would have selected their third movies in each case but two of them did not get to make three!):
Sean Connery - Dr. No - 32
George Lazenby - On Her Majesty’s Service - 30
Roger Moore - Live and Let Die - 46
Timothy Dalton - The Living Daylights - 41
Pierce Brosnan - Goldeneye - 42
Daniel Craig - Casino Royale - 38
By the time Roger Moore made his third movie ("The Spy who Loved Me") he was 50. Daniel Craig is now 44.