On C++ or Python, there is support for multiple inheritance, so you can extend multiple classes or abstract classes. Thus, if you want to make something like an interface you just make a complete abstract class.
On languages like Java or Kotlin, there is no support for multiple inheritance, but instead they have interfaces which a class can implement multiple times to achieve something similar to this feature. However, on Kotlin or since Java 8 there is not much difference between abstract classes or interfaces since they both can have abstract methods and concrete implementations, so I wonder when to use each one and mainly what are the reasons the languages (in particular Kotlin which is more recent) are implemented in this way instead of using multiple inheritance if you could achieve the same thing with the latter one?
Or is just another way to achieve multiple inheritance or there is something that abstract classes along with interfaces provide that multiple inheritance do not and it influence in which cases you use one over another (interfaces over abstract classes)?