Want launchd to run a script weekly, but it is running it daily instead
Your Calendar Interval looks upside down.  Start with the day and then the time.  It should look like this:
&lt;dict&gt;
    &lt;key&gt;Weekday&lt;/key&gt;
    &lt;integer&gt;1&lt;/integer&gt;
    &lt;key&gt;Hour&lt;/key&gt;
    &lt;integer&gt;7&lt;/integer&gt;
    &lt;key&gt;Minute&lt;/key&gt;
    &lt;integer&gt;00&lt;/integer&gt;
&lt;/dict&gt;

You also don’t  want the “Run At Load” value set because it will execute the script the moment the plist is loaded like at boot time or upon login.
As far as your script goes it looks fine.  There’s nothing in there that will trigger it to run at a particular time as the date function is only being used to populate a variable that’s used in a filename.