Drop down filter sort posts by latest, last 7 days and monthly

The request to the server is in this phrase: value="?orderby=date&order=DESC">. That is a WP_query string. You would use a date_query with the after argument to construct a query that will return posts which were published after a certain date. Note that the string will be different every time, since it depends on the current date and time.

Once you have the query, you can pass it through add_query_arg to retrieve a string which you can include in your dropdown option.