من به موقعش یه مقاله نوشتم میذارم اینجا:
https://androidriver.ir/using-r8-in-android-studio/
هر دو برای obfus هستن یه تفاوت عمده r8 اساسی داره که می تونه به صورت optional کدها رو برای dalvik machine به bytecode تبدیل کنه اما progaurd این کار رو از طریق java comp انجام می ده r8 با کاتلین کامپتیبل تره تا نسبت به java یه سری تفاوت در obfus داره که در جدول لینک زیر هستش
https://www.guardsquare.com/en/blog/comparison-proguard-vs-r8-october-2019-edition