The timestamp shows when you generated the script, which could be helpful in putting together 'deployment' scripts etc, or when looking at a scripted out version of a SP compared to more recent changes that have happened in the database outside of that script. ("This is the definition that was current as of..." - like including today's newspaper in a photo; of course unlike a photo you can change it in the .sql file if you really wanted to!). Usually scripting out the SP would be used to apply the SP to another environment or something like that, in which case it's useful to be able to audit when that script was generated.
It isn't stored in the metadata for the SP, it's just generated at the time you run the "script as..." command.
[Are you routinely doing "Modify" on a SP to view its definition, hence the ambiguity between what's the definition of the SP itself and what was generated by SSMS? Could I suggest you develop the habit of "Script As" > "Create" to avoid inadvertent changes, assuming you are on a connection that allows you ALTER
permissions? - Although the "Create" script also includes the timestamp, but something about the wording just made me wonder.]
By the way: it does capture the time it was created, and last modified (check Object Explorer Details from the Stored Procedures node for the easiest way to see that). There isn't an inbuilt way to see when it was last run other than capturing execution plans or something like SQL Audit or Extended Events.