Показывать циклически можно так.
const picurls = [
'http://serv/pic1.jpg',
'http://serv/pic2.jpg',
...
'http://serv/picN.jpg',
];
const now = Date.now(); // мс с 01.01.1970
const msinday = 1000*60*60*24; // мс в сутках
const nowDay = Math.trunc(now/msinday); // дней с 01.01.1970
const ind = nowDay % picurls.length;
const url = picurls[ind];
Именно рандом на каждый день сделать труднее. Если это рандом для каждого пользователя (разные пользователи в один и тот же день будут видеть разные картинки), то каждый раз надо проверять заходил ли это т пользователь в этот день. Если нет, то вычислять рандомно индекс картинки и запоминать его, например в localStorage. Если уже заходил в этот день, то брать запомненный индекс.
Если все пользователи в этот день должны видеть одну и туже рандомную картинку, то это либо проблема сервера, либо придумывать какой то хеш по дате (например md5). и уже по хешу (беря младшую часть, вычисляя остаток) вычислять номер картинки, которую надо показать. Но нет гарантии, что это будет действительно равномерно распределенное случайное число.