You won't be able to get the embedded schema directly with the Razor Mediator, but since its just a wrapper of the TOM.NET API, you can create your own function that returns the schema's title.

The following example allows you to pass it a ComponentModel instance and a name of the field that you want to get the embedded schema's title for:

    @using Tridion.ContentManager.ContentManagement.Fields

    @functions {
        public string GetEmbeddedSchemaTitle(Models.ComponentModel component, string fieldName) {
            ItemFields fields = new ItemFields(component.TridionObject.Content, component.Schema);
            EmbeddedSchemaField embeddedField = fields[fieldName] as EmbeddedSchemaField;
            if (embeddedField != null) {
                return ((EmbeddedSchemaFieldDefinition)embeddedField.Definition)
                    .EmbeddedSchema.Title;
            }
            return null;
        }
     }

Then, for you first example, you could do the following (assuming your field "link" is a multi-valued component link field, and the field name using an embedded schema for each of these components is "MyEmbeddedField"):

    @foreach (dynamic comp in Component.Fields.link) {
        <div>Title For "MyEmbeddedField": @GetEmbeddedSchemaTitle(comp, "MyEmbeddedField")</div>
    }