Атрибут Async позволяет скрипту выполняться не дожидаясь загрузки страницы. А defer запустит ваш скрипт только после того как страница будет полностью загружена. А если применительно к вашей формулировке, то скрипты с атрибутом async будут выполняться в случайном порядке по мере загрузки, а с атрибутом defer начнут выполнятся по тому порядку, в котором они подключены на страницу, после её загрузки.