Because “weekly” is kind of a fraction (1/week), and 2/week and 1/(2week) are very different, but both can be pronounced very similarly. Read kind of like (2-week)ly and 2-(weekly). Which is why both meanings are used, so you need to use context to disambiguate, or just guess if context isn’t available.
This is also the reason why in this thread people say “semiweekly” is the other option, but they don’t all use the same other option. You have the same, but inverse problem there.
Does Javascript have anything to say about promises that are never resolved/rejected? Is that something that happens?